iOS 10中UITextView顶部的空白区域

Ali*_*yan 116 iphone xcode cocoa-touch uitextfield ios

我有UITextView,里面有一些文字.iOS 6的一切都很好,但现在使用iOS 7,它将空白留在顶部,然后将文本放在textview的中间.在此输入图像描述

我没有设置任何contentOffSet.请帮忙!

jrt*_*ton 217

文本视图是滚动视图.视图控制器将自动添加内容偏移以滚动视图,因为假设他们想要在导航栏和状态栏后面向上滚动.

要防止这种情况,请在包含文本视图的视图控制器上设置以下属性:

self.automaticallyAdjustsScrollViewInsets = NO
Run Code Online (Sandbox Code Playgroud)

  • 这是一个更好的答案,因为它不仅解决了如何纠正问题,而且解决了为什么它首先发生的问题. (7认同)

Dum*_*oko 58

IronManGill目前给出的答案并不是一个好的解决方案,因为它不是基于对问题发生的原因的理解.

jrturton的答案也不是解决问题的最简洁方法.你不需要覆盖.把事情简单化!

您只需要设置以下内容:

self.automaticallyAdjustsScrollViewInsets = NO;
Run Code Online (Sandbox Code Playgroud)

在viewDidLoad方法中.

查看文档:https: //developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin


小智 47

在Interface Builder中

  • 选择包含UITextView的视图控制器.
  • 转到属性检查器.
  • 取消选中"调整滚动视图插图".

  • 注意:它是UIViewController的一个属性.找不到它然后意识到我没有完全阅读文本 (3认同)

小智 37

这对我有用

textView.textContainerInset = UIEdgeInsetsZero;  
textView.textContainer.lineFragmentPadding = 0;
Run Code Online (Sandbox Code Playgroud)


Aam*_*mir 24

转到Interface Builder:

  1. 选择view controller包含您的text view
  2. 取消检查Adjusts Scroll View Insets财产

在此输入图像描述


Mon*_*art 10

我真的很想知道这是否是一个真正的特征...这个64点自动插入仅在视图控制器视图的所有子视图的更深UIScrollViewUITextView更深时添加.例如,如果您在后面添加一个视图(这里我说的是z-buffer,而不是视图重叠)滚动视图,则不会自动添加此64点插入.

例如,这个添加了插图:

在此输入图像描述

在这种情况下,不添加插图:

在此输入图像描述

这对我来说真的很奇怪......为什么操作系统会根据视图的深度来决定它是否应该扩展视图?

  • 确实很奇怪. (3认同)

小智 6

在swift上(Xcode 6)

 self.automaticallyAdjustsScrollViewInsets = false
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以UITextView通过添加以下内容删除顶部的空白区域:

yourTextView.textContainerInset = UIEdgeInsetsZero;
Run Code Online (Sandbox Code Playgroud)


Saq*_*mer 5

我通过将内容偏移设置为负值来解决此问题.这是Swift代码.

yourTextView.setContentOffset(CGPoint(x: 0, y: -150), animated: true)
Run Code Online (Sandbox Code Playgroud)