automaticallyadjustsscrollviewin
全部标签 我有一个包含UIScrollView的UIViewController。最初automaticallyAdjustsScrollViewInsets未设置(因此它应该默认为YES)。在某些用户交互中,我将automaticallyAdjustsScrollViewInsets设置为NO,因此我可以在ScrollView上设置我自己的contentInset。这样做之后什么也没有发生。之后我必须调用什么?在ScrollView上调用setNeedsDisplay没有帮助。 最佳答案 如果您希望ScrollView的初始显示包含初始内容
我创建了一个非常简单的演示应用程序来测试automaticallyAdjustsScrollViewInsets的功能,但是tableView的最后一个单元格被我的标签栏覆盖了。我的AppDelegate代码:UITabBarController*tabControl=[[UITabBarControlleralloc]init];tabControl.tabBar.translucent=YES;testViewController*test=[[testViewControlleralloc]init];[tabControlsetViewControllers:@[test]];
我创建了一个非常简单的演示应用程序来测试automaticallyAdjustsScrollViewInsets的功能,但是tableView的最后一个单元格被我的标签栏覆盖了。我的AppDelegate代码:UITabBarController*tabControl=[[UITabBarControlleralloc]init];tabControl.tabBar.translucent=YES;testViewController*test=[[testViewControlleralloc]init];[tabControlsetViewControllers:@[test]];
我一直在使用iOS7中的新UI选项,而UIViewController中的automaticallyAdjustsScrollViewInsets属性真的让我大吃一惊。问题是,要么你不设置它,但是你将不得不在iOS7和其他iOS版本中以不同的方式定位你的ScrollView。另一种方法是仅针对iOS7将其设置为NO并使用相同的定位。我完全不明白苹果为什么要实现这个属性,在我看来,好的做法是始终将它设置为NO(根本没有这样的属性),就像以前一样。我知道如果你懒惰它会更容易使用,但在我看来这似乎是一个非常糟糕的编程习惯。我是不是错过了什么或者你同意吗? 最佳答案
当您在UIViewController中有一个UITableView时,您必须关闭automaticallyAdjustsScrollViewInsets标志(在代码或Storyboard编辑器中)以获得顶部空间而不是避开顶部栏。我现在有一个子UIViewController,它在包含UITableView的subview中使用“嵌入”序列。我看到了“空间”(黄色区域),但我清除了嵌入式UIViewController中的所有标志,甚至在prepareForSeque中手动清除了标志,但空间仍然存在。是否还有其他事情需要做,或者这是一个错误? 最佳答案
我刚开始编译到iOS11并注意到Apple现在声明了该属性varautomaticallyAdjustsScrollViewInsets:Bool{getset}已弃用:https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin是否有其他属性可以在iOS11中修复此警告?默认值会保持为真还是将来会如何处理? 最佳答案 此代码可能有帮助:if#available(iOS11.0,*