dji*_*i33 24 iphone objective-c uitableview uistatusbar ios7
我在我的最新应用程序中瞄准iOS7,并且点击状态栏似乎不会将tableView或collectionView滚动到顶部.
我已经设定self.tableView.scrollsToTop = true,但仍然没有任何反应.
我知道Apple显着改变了iOS7中的状态栏,但这些更改是否会破坏scrollsToTop功能?
更新
为了回应其中一个答案中的评论,我测试了以确保我的集合视图确实是屏幕上唯一的scrollView,它是:
(lldb) po [self.view recursiveDescription]
<UIView: 0x1092ddf0; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x109357e0>>
| <UICollectionView: 0x11351800; frame = (0 0; 320 568); clipsToBounds = YES; opaque = NO; autoresize = W+H; gestureRecognizers = <NSArray: 0x10966080>; layer = <CALayer: 0x109623a0>; contentOffset: {0, -64}> collection view layout: <UICollectionViewFlowLayout: 0x10940a70>
| | <UIImageView: 0x10965fa0; frame = (0 564.5; 320 3.5); alpha = 0; opaque = NO; autoresize = TM; userInteractionEnabled = NO; layer = <CALayer: 0x10965ee0>> - (null)
| | <UIImageView: 0x10948f60; frame = (316.5 561; 3.5 7); alpha = 0; opaque = NO; autoresize = LM; userInteractionEnabled = NO; layer = <CALayer: 0x10966030>> - (null)
Run Code Online (Sandbox Code Playgroud)
更新#2
不确定它是否重要,但我使用的是标准的iOS7 NavigationController,其中navigationBar是透明的,并且当我们在下面滚动时将模糊应用到我的集合/ tableViews.
更新#3
弄清楚了.结果我在屏幕上确实有多个scrollView.我的应用程序在应用程序的主要部分下面有一个左抽屉菜单,该菜单有一个tableView用于选项.我只是设置self.menuTable.scrollsToTop = false,一切都在应用程序的其余部分按预期工作.没有必要实现scrollView Delegate方法或任何东西.
Gre*_*reg 23
您在屏幕上有多个滚动视图/表格视图/集合视图吗?如果是这样,只有其中一个可以scrollsToTop设置为YES,否则iOS7将不会将它们中的任何一个滚动到顶部.
scrollViewShouldScrollToTop:如果传入的滚动视图等于要滚动到顶部的滚动视图,则还可以实现UIScrollViewDelegate方法并返回YES:
- (BOOL) scrollViewShouldScrollToTop:(UIScrollView*) scrollView {
if (scrollView == self.myTableView) {
return YES;
} else {
return NO;
}
}
Run Code Online (Sandbox Code Playgroud)
dji*_*i33 11
简短的回答是iOS7没有什么不同.只要加载的UIScrollView不超过一个,当用户点击状态栏时,tableView或collectionView将滚动到顶部.这里的关键是加载; 另一个scrollView不一定必须在屏幕上与另一个scrollView冲突.
左/右滑动抽屉这些天很受欢迎,这就是我的问题所在.我有一个包含我的导航选项的菜单,这些都是由UITableView持有的.我必须确保menuTable.scrollsToTop = false在我能够在我的应用程序的其他部分工作之前设置.
| 归档时间: |
|
| 查看次数: |
8974 次 |
| 最近记录: |