【问题标题】:First UITextview text is not showing第一个 UITextview 文本未显示
【发布时间】:2014-12-22 08:40:28
【问题描述】:

我在 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 文本 - “名称”,比其他所有文本都低。

【问题讨论】:

  • 你能贴一些代码吗?
  • 第二段好像被加密了,我看不懂,请尝试用一些代码来详细说明你的问题
  • 如果自动布局打开,检查添加的组件是否正确
  • 我更新了我的问题并添加了一些代码
  • @Mike:你说,你手动添加了 textView 那你为什么要分配新的 textViews ?

标签: ios objective-c uiscrollview uitextview


【解决方案1】:

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

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

【讨论】:

  • 哇,你真是个天才,非常感谢这对我有帮助。太荒谬了,这个问题存在。
  • 这确实是一个完全荒谬和武断的问题。我应该切换到Android开发,这些天苹果到底发生了什么?不过,谢谢你的帮助。这对我也有用
  • 'automaticallyAdjustsScrollViewInsets' 在 iOS 11.0 中已被弃用,因此它可能是 UIScrollView/UITableView/UICollectionView contentInsetAdjustmentBehavior = .never
【解决方案2】:

斯威夫特 5
这对我有用:

textView.isScrollEnabled = false

【讨论】:

    【解决方案3】:

    这可能是因为您的UITextView 嵌入在UIStackView 中,而AlignmentDistribution 属性设置不正确。

    如果UIStackView AlignmentDistribution 属性如此......

    将其更改为以下可能会修复此问题..

    【讨论】:

    • 实际上,对我来说恰恰相反——我必须让 alignment: Fill 才能工作。
    猜你喜欢
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多