나는 어디서 UILabel의 텍스트가 끝나고 x와 y의 좌표로 그 좌표를 얻고 싶은지를 알고 싶습니다. 그런 다음 UILabel 텍스트의 마지막 단어 바로 뒤에 이미지를 삽입해야합니다. 이 이벤트는 앱에서 특정 이미지를 클릭하면 시작됩니다. UILabel 텍스트의 끝 문자 x와 y는 무엇입니까?iphone app 사용자 정의 이미지 UILabel 내부
감사 AYAZ의 alavi
나는 어디서 UILabel의 텍스트가 끝나고 x와 y의 좌표로 그 좌표를 얻고 싶은지를 알고 싶습니다. 그런 다음 UILabel 텍스트의 마지막 단어 바로 뒤에 이미지를 삽입해야합니다. 이 이벤트는 앱에서 특정 이미지를 클릭하면 시작됩니다. UILabel 텍스트의 끝 문자 x와 y는 무엇입니까?iphone app 사용자 정의 이미지 UILabel 내부
감사 AYAZ의 alavi
iphone 및 UI textarea에서 지원하는 유니 코드 스마일을 사용하여이 문제를 해결했습니다. 그래서 나는 필드의 텍스트에 유니 코드 문자를 계속 덧붙이고 이미지를 계속 보여줍니다.
당신은, 라벨의 크기를 조정 한 후 좌표를 얻고 이미지보기 위해 그들을 사용할 수 있습니다
[_label sizeToFit];
CGFloat x = _label.frame.origin.x + _label.frame.size.width;
CGFloat y = _label.frame.origin.y + _label.frame.size.height;
_imageView.frame = CGRectMake(x, y, imageWidth, imageHeight);
(이 방법으로 당신이 문제로 실행하겠습니다합니다 마지막 줄이 가장 길지 않은 여러 줄 레이블)
양의 접근 방식은 괜찮은 것처럼 보이지만 어떤 이유로 텍스트의 크기를 조정하고 싶지 않으면 텍스트가 바뀝니다. UIKit 추가 사항을 사용할 수도 있습니다. NSString. 물론 이것은 한 줄짜리 레이블에만 제대로 작동합니다.
CGSize textSize = [label.text sizeWithFont:label.font];
CGFloat imgX;
CGFloat imgY = label.frame.origin.y - imageView.frame.size.height;
if(label.textAlignment == UITextAlignmentLeft) {
imgX = label.frame.origin.x + textSize.width;
} else if(label.textAlignment == UITextAlignmentCenter) {
imgX = label.frame.origin.x + textSize.width/2.0;
} else if(label.textAlignment == UITextAlignmentRight) {
// This part really depends on what you want to do in this case
imgX = label.frame.origin.x
+ label.frame.size.width
- textSize.width
- imageView.frame.size.width;
}
imageView.frame = CGRectMake(imgX,
imgY,
imageView.frame.size.width,
imageView.frame.size.height);