[英]get the position of Text in UITextview
我有一个带有CGRect(0,y,320,58)和居中对齐文本的UITextView,我想要文本在UITextView中的位置
_________________________
| |
| Hey how are you? |
|_________________________|
我想从左边开始定位/填充文本
我认为您可以使用textView的此属性
textContainerInset
textView.textContainerInset = UIEdgeInsetsMake(TOP, LEFT, BOTTOM, RIGHT);
UITextView采用UITextInput协议。 该协议具有方法firstRectForRange:
它将告诉您覆盖一系列字符的矩形。
如果文本位于UIImageView内的UILabel内,则可以通过以下方式获取标签的y位置
CGFloat yPosition = [self.myLabel.frame.origin.y];
如果不是,请使用Label并将其设置为故事板中UIView中的所需位置。 获得相对于Imageview的Text y位置。
希望这可以帮助。
尝试此操作可能会有所帮助...
UITextView *textStuff = [[UITextView alloc] init];
textStuff.frame = CGRectMake(2.0, 200.0, 200.0, 40.0);
textStuff.text = @"how are you today?";
textStuff.textColor = [UIColor blackColor];
UITextPosition *Pos2 = [textStuff positionFromPosition: textStuff.endOfDocument offset: nil];
UITextPosition *Pos1 = [textStuff positionFromPosition: textStuff.endOfDocument offset: -textStuff.text.length];
UITextRange *range = [textStuff textRangeFromPosition:Pos1 toPosition:Pos2];
CGRect result1 = [textStuff firstRectForRange:(UITextRange *)range ];
NSLog(@"%f, %f", result1.origin.x, result1.origin.y);
UIView *view1 = [[UIView alloc] initWithFrame:result1];
view1.backgroundColor = [UIColor colorWithRed:0.2f green:0.5f blue:0.2f alpha:0.4f];
[textStuff addSubview:view1];
[self.view addSubview:textStuff];
打印到“ CGRect result1”,然后看到它正在返回文本...
好的,所以我是这样做的,
UITextPosition *post = [_textview beginningOfDocument];
CGRect r = [_textview caretRectForPosition:post];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.