標籤:uitextview
今天遇到一個奇怪的問題,如下:
在導覽列控制器的rootviewcontroller中,添加了一個UITextView控制項,代碼如下:
- (void)viewDidLoad {
[super viewDidLoad];
self.title =@"Test";
UITextView *textview = [[UITextViewalloc]init];
textview.frame = CGRectMake(10, 100, 300, 200);
textview.backgroundColor = [UIColorgreenColor];
textview.layer.cornerRadius =5;
textview.layer.masksToBounds =YES;
textview.font=[UIFontboldSystemFontOfSize:14];
[self.viewaddSubview:textview];
}
運行效果如下:
那麼問題出現了,游標出現在中間了,很明顯,導覽列的高度和游標距離UITextView頂部的距離是相同的
把代碼做如下修改,便解決問題:
- (void)viewDidLoad {
[super viewDidLoad];
self.title =@"Test";
//在添加UITextView之前,添加個UIView
[self.viewaddSubview:[UIViewnew]];
UITextView *textview = [[UITextViewalloc]init];
textview.frame = CGRectMake(10, 100, 300, 200);
textview.backgroundColor = [UIColorgreenColor];
textview.layer.cornerRadius =5;
textview.layer.masksToBounds =YES;
textview.font=[UIFontboldSystemFontOfSize:14];
[self.viewaddSubview:textview];
}
運行效果如下:
由此可見:在導覽列的ViewController中添加UITextView控制項前,需要先添加一個UIView,否則,游標會下移一個(導覽列+狀態列)的高度。
具體原因不知為何會這樣,請大家指教。
IOS之導覽列中添加UITextView控制項bug