我在viewController上插入了多个UITextviews,直到我双击它才会显示第一个textViews文本。它然后向上滚动,如果我再次双击它,它会向下滚动,我再也看不到它了。
然后我尝试手动添加UITextViews(不是以编程方式),它做了同样的事情。奇怪的是,这只发生在页面上的一个uitextview上。
更新
我会发布代码,但我不认为它是相关的,因为我说我手动将UITextViews放在另一个vieController上,它做了同样的事情,但我会发布它以防万一:
int heightBetweenLabels = 10;
int labelWidth = 200;
int labelHeight = 1;
int height = 0;
int position = 0;
for (int i = 0; i < [currentListInfo count]; i++) {
if (height == 0 && position == 0)
{
height = 70;
labelHeight = 50;
}
label = [[UITextView alloc] initWithFrame:CGRectMake((self.view.frame.size.width - labelWidth) / 2, height + position + heightBetweenLabels, labelWidth, labelHeight)];
[label setBackgroundColor:[UIColor lightGrayColor]];
[label setTextColor:[UIColor blackColor]];
label.scrollEnabled = NO;
[label setEditable:NO];
self.label.text = nil;
label.dataDetectorTypes = UIDataDetectorTypeAll;
[self textViewFitToContent:label];
[self.view addSubview:label];
[label setText:[currentListInfo objectAtIndex:i]];
label.contentInset = UIEdgeInsetsZero;
height = label.frame.size.height;
position = label.frame.origin.y;
}
更新 - 2
这基本上就是发生了什么。我不知道为什么,但是textView文本 - “name”比其他所有文本都要低。
答案 0 :(得分:7)
UIViewController有一个automaticAdjustsScrollViewInsets属性,默认为YES。由于UITextView是ScrollView,您添加的第一个UITextView将自动添加一个顶部插入。
解决方案:在视图控制器的viewDidLoad或init中,将self.automaticallyAdjustsScrollViewInsets设置为NO。
答案 1 :(得分:2)
迅速5
这对我有用:
textView.isScrollEnabled = false
答案 2 :(得分:0)