在viewDidLoad中将iOS 7 setContentOffset重置为0

时间:2014-02-17 12:37:41

标签: ios iphone objective-c uikit

我在表格视图的顶部附加了UISearchBar。我们的想法是,当您从顶部向下拖动时,您可以进行搜索。

所以在iOS 6下我附加了搜索栏,然后在viewDidLoad中我将“setContentOffset”添加到CGPointMake( 0, searchBar.frame.size.height ),它将内容偏移设置为44。

这对我来说很有效。

然而,iOS 7中的行为并不相同。

在viewDidLoad中执行setContentOffset后,我看到_notifyDidScroll的内部调用,它将内容偏移设置回0(viewDidLoad完成后)。有趣的是我的搜索栏不在-44。

如何让iOS6和iOS7的行为方式相同?我不在乎iOS6是否开始执行此notifyDidScroll或iOS 7停止这样做,但我希望两个版本之间保持一致!

现在我不得不使用一个可怕的解决方案,在iOS 7和iOS6上执行不同的任务。

1 个答案:

答案 0 :(得分:1)

我认为您需要在ViewController中禁用UnderTopBars。您可以在故事板或UIViewController属性中的.xib中执行此操作。

编辑:

enter image description here

希望这会有所帮助。