为啥我的 UITextView 文本从开始时不显示并隐藏在导航栏下
Posted
技术标签:
【中文标题】为啥我的 UITextView 文本从开始时不显示并隐藏在导航栏下【英文标题】:Why my UITextView text is not show from starting and hide under Navigation Bar为什么我的 UITextView 文本从开始时不显示并隐藏在导航栏下 【发布时间】:2016-01-08 06:10:18 【问题描述】:我想知道为什么我的 textview 文本没有从起始文本中显示出来。 这是来自我的 Xcode IB 的图像
当我在我的 iPhone 6 Simulator 和其他设备上运行它时
其实应该从“Example Notification....”开始
请帮帮我。
【问题讨论】:
选择你的view controller -> attribute inspector ->Unselect underTop Bars
那是因为它在导航栏后面拖到导航栏下方
@HamzaAnsari,我知道你在说什么。但是,如何显示不在导航栏下?
遵循@EICaptain 指令
ios 7 Table view fail to auto adjust content inset的可能重复
【参考方案1】:
那些没有从一开始就开始 UITextView
的人,这里是答案。我相信它在 iOS 8 及更高版本的任何设备上都能 100% 运行。
1.您需要在应用 textview 的视图控制器中取消选择这些
转到 ViewController > Attribute Inspector > Search Extend Edges > Under Top Bars & Under Button Bars
2.在视图控制器中添加以下代码
override func viewDidLayoutSubviews()
super.viewDidLayoutSubviews()
self.yourTextView.setContentOffset(CGPoint.zero, animated: false)
特别感谢@El Captain
【讨论】:
在 iOS 12 上仍然很强大【参考方案2】:为了保持UINavigationBar
半透明 并允许用户在阅读UITextView
时旋转设备,我使用了这样的东西:
private var firstLayout = true
override func viewDidLayoutSubviews()
super.viewDidLayoutSubviews()
if firstLayout
firstLayout = false
textView.setContentOffset(
CGPoint(x: 0, y: -topLayoutGuide.length), animated: false)
在 iOS 9 和 iOS 12 Beta 上测试。
【讨论】:
【参考方案3】:在我的例子中,它是 iOS 13。 UITextView 被限制在边缘。它的内容设置为确实加载,之后文本视图自动滚动到底部导致大标题缩小。 对我有帮助的是将 setText 包装到异步中:
DispatchQueue.main.async
textView.text = logs
【讨论】:
以上是关于为啥我的 UITextView 文本从开始时不显示并隐藏在导航栏下的主要内容,如果未能解决你的问题,请参考以下文章