我有一个带有CGRect的UITextView(0,y,320,58)并居中对齐Text,我想要UITextView中文本的位置
_________________________
| |
| Hey how are you? |
|_________________________|
我想从左边开始填写文本的位置/填充
答案 0 :(得分:1)
我认为你可以使用textView的这个属性
<强> textContainerInset 强>
textView.textContainerInset = UIEdgeInsetsMake(TOP, LEFT, BOTTOM, RIGHT);
答案 1 :(得分:1)
UITextView采用UITextInput协议。该协议具有方法 - firstRectForRange:
,它将告诉您覆盖一系列字符的矩形。
答案 2 :(得分:0)
如果Text位于UIImageView内部的UILabel内,则可以通过
获取标签的y位置CGFloat yPosition = [self.myLabel.frame.origin.y];
如果没有,那么请使用Label并将其设置为故事板中UIView中的所需位置。 获取与Imageview相关的Text y位置。
希望这会有所帮助。
答案 3 :(得分:0)
试试这可能会有所帮助...
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”并看到它正在返回文本发布...
答案 4 :(得分:0)
好的,所以我这样做了,
UITextPosition *post = [_textview beginningOfDocument];
CGRect r = [_textview caretRectForPosition:post];