如果 UITextView 是第一个子视图,那么在视图顶部和文本开头之间会出现一个大空间

Posted

技术标签:

【中文标题】如果 UITextView 是第一个子视图,那么在视图顶部和文本开头之间会出现一个大空间【英文标题】:If UITextView is first sub-view then a big space will appear between the top of the view and the start of the text 【发布时间】:2015-05-18 07:00:52 【问题描述】:

看起来就像在原生 Xcode 中一样,在 Xamarin studio for ios 中,如果视图层次结构中的第一个子视图是 UITextView,那么向该视图添加顶部布局约束将导致出现一大块空白空间在滚动视图的顶部。

这类似于这里的问题的Xcode版本

iOS 7 UITextView vertical alignment

【问题讨论】:

【参考方案1】:

我通过改编以编程方式解决了这个问题

Tanguy-G 通过在我的视图控制器的构造函数中将 AutomaticallyAdjustsScrollViewInsets 设置为 false 来回答原生 Objective-C。

    public MyLovelyViewController (IntPtr handle) : base (handle)
    
        this.AutomaticallyAdjustsScrollViewInsets = false;
    

编辑:如果您以编程方式设置相关文本视图的任何其他方面,请确保调用

this.AutomaticallyAdjustsScrollViewInsets = false;

在任何其他调整后,否则空间会重新出现,例如:

    confirmSummary.Editable = false;
    confirmSummary.Selectable = false;
    this.AutomaticallyAdjustsScrollViewInsets = false;

(我在 ViewDidLoad 的覆盖中这样做)

【讨论】:

以上是关于如果 UITextView 是第一个子视图,那么在视图顶部和文本开头之间会出现一个大空间的主要内容,如果未能解决你的问题,请参考以下文章

iPad 上带有 UITextView 的 InputAccessoryView

UITextView在输入时隐藏文本

将 UITextView 作为第一响应者后,表格视图单元格不可选择

UITextView 和 UILabel 子视图属性为零

如何在 UITextView 中为文本着色

UIScrollView 内的 UITextView