IOS之导航栏中添加UITextView控件bug
今天遇到一个奇怪的问题,如下:
在导航栏控制器的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,否则,光标会下移一个(导航栏+状态栏)的高度。
具体原因不知为何会这样,请大家指教。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。