在我的手机上升级到iOS 7时,我注意到部分索引标题无法正常工作:
行动:
点击部分索引标题“M”将列表滚动到以字母M开头的项目.
预期成绩:
表视图滚动到部分M中的第一个项目,部分标题仍然可见.
实际结果:
表视图滚动到部分M中的第二个项目,部分标题不可见.第一个项目存在,但就在可见框的上方.
在iOS 6上,它都按预期工作.
另一方面,顶行和底行下方的橡皮筋效果也有一个奇怪的行为,通过“拉伸”橡皮筋,我可以看到第一行,但是一旦我发布它,第一行行再次滚动屏幕外.同样对于底行.
更新
这很可能是由从Xcode 4.6自动布局迁移到Xcode 5自动布局引起的,我听说这是不兼容的.也许有些约束变坏了?我仍在努力寻找原因.
Interface Builder中的场景包含一个UIVIEw,它包含两个子视图 – 两个UItableVIEws位于彼此之上.可见的两个视图中的哪一个通过导航栏顶部的UISegmentedControl切换.在底部有一个标签栏.
我已经在IB中手动布局了界面,所以它们都是全屏的,这是单独完成的,即没有约束指定相同的宽度/高度等.我使用的约束是无; autolayout建议的约束;我也尝试在两个tablevIEws上制作contentInsets,正如@ duci9y所建议的那样.
根据@Popara的建议,导航栏设置为不透明.
结束说明
如果我能理解如何将tablevIEws设置为全屏,除了收缩以确保它们不会低于导航栏和标签栏.
解决方法 这对我来说听起来不像是一个自动布局问题.在包含表视图的视图控制器中,运行self.automaticallyAdjustsScrollVIEwInsets = YES;在vIEwDIDLoad中.表视图控制器是否在导航控制器上推送?那应该就是你需要做的一切.
如果没有,您需要阅读属性edgesForExtendedLayout和topLayoutGuIDe.如果视图控制器包含自己的导航栏,则需要覆盖后者.
topLayoutGuIDe告诉你的视图控制器插入任何滚动视图应该有多少顶级内容(这适用于表视图,因为它们从滚动视图继承).因为在iOS7上,您的表格视图位于导航栏后面(因为它是半透明的),其顶部布局指南必须设置在导航栏的下方.
如果视图层次结构更复杂(表视图不是视图控制器视图的直接子视图),则可以手动设置内容插入:
tableVIEw.contentInset = UIEdgeInsetsMake(CGRectGetMaxY(navigationbar.frame),0);总结
以上是内存溢出为你收集整理的UITableView部分索引针对iOS 7中的错误单元格,导航栏下的顶行隐藏全部内容,希望文章能够帮你解决UITableView部分索引针对iOS 7中的错误单元格,导航栏下的顶行隐藏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)