当前位置 : 主页 > 手机开发 > ios >

ios – 没有显示第一个UITextview文本

来源:互联网 收集:自由互联 发布时间:2021-06-11
我在viewController上插入了多个UITextviews,直到我双击它才会显示第一个textViews文本.它然后向上滚动,如果我再次双击它,它会向下滚动,我再也看不到了. 然后我尝试手动添加UITextViews(不是以
我在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文本 – “名称”,比所有其他文本低.

UIViewController有一个automaticAdjustsScrollViewInsets属性,默认为YES.由于UITextView是ScrollView,您添加的第一个UITextView将自动添加一个顶部插入.

解决方案:在视图控制器的viewDidLoad或init中,将self.automaticallyAdjustsScrollViewInsets设置为NO.

网友评论