- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个带有 UITableView 的应用程序,它通过 NSFetchedResultsController 提供数据。 TableView 按字母顺序排序,并按首字母划分为多个部分。
在我的手机上升级到 iOS 7 时,我注意到部分索引标题无法正常工作:
行动:点击部分索引标题“M”可将列表滚动到以字母 M 开头的项目。
预期结果:表格 View 滚动到 M 部分中的第一项,部分标题保持可见。
实际结果:表格 View 滚动到 M 部分中的第二个 项目,部分标题不可见。第一项存在,但就在可见框上方。
在 iOS 6 上,一切都按预期工作。
旁注,顶行上方和底行下方的橡皮筋效果也有奇怪的行为,通过“拉伸(stretch)”橡皮筋,我可以看到第一行,但一旦我松开它,第一行再次滚动到屏幕外。对于最后一行也是如此。
这很可能是由于从 Xcode 4.6 自动布局迁移到 Xcode 5 自动布局造成的,我听说这不兼容。也许某些约束变坏了?我仍在努力寻找它的原因。
Interface Builder 中的场景由一个包含两个 subview 的 UIView 组成——两个 UITableView 彼此重叠。通过导航栏顶部的 UISegmentedControl 切换两个 View 中的哪一个可见。底部有一个标签栏。
我在 IB 中手动布置了界面,以便它们都是全屏的,这是单独完成的,即没有约束指定相同的宽度/高度等。我使用的约束没有;自动布局建议的约束;并且我还尝试按照 @duci9y 的建议在两个 TableView 上制作 contentInsets。
按照@Popara 的建议,导航栏设置为不透明。
如果我能理解如何将表格 View 设置为全屏,除了缩小以确保它们不会覆盖导航栏和标签栏。
最佳答案
对我来说,这听起来不像是自动布局问题。在包含 TableView 的 View Controller 中,在 viewDidLoad
中运行 self.automaticallyAdjustsScrollViewInsets = YES;
。
表格 View Controller 是否被推送到导航 Controller 上?那么这就是您需要做的所有事情。
如果没有,您需要阅读属性 edgesForExtendedLayout
和 topLayoutGuide
。如果您的 View Controller 包含自己的导航栏,则后者是您需要覆盖的内容。
topLayoutGuide
告诉您的 View Controller 任何 ScrollView 应该插入多少顶部内容(这适用于 TableView ,因为它们继承自 ScrollView )。由于在 iOS7 上,您的表格 View 位于导航栏后面(因为它是半透明的),因此必须将其顶部布局指南设置为刚好位于导航栏下方。
如果你的 View 层次结构比较复杂( TableView 不是 View Controller View 的直接 subview ),那么你可以手动设置内容插入:
tableView.contentInset = UIEdgeInsetsMake(CGRectGetMaxY(navigationBar.frame), 0, 0, 0);
关于ios - UITableView 部分索引针对 iOS 7 中的错误单元格,顶行隐藏在导航栏下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20105897/
代码如下: http://jsfiddle.net/t2nite/KCY8g/ 我正在使用 jquery 创建这些隐藏框。 每个框都有一些文本和一个“显示”和“隐藏”按钮。我正在尝试创建一个“显示/隐
我正在尝试做某事。如果单击一个添加 #add-conferance 然后菜单将显示.add-contact。当点击隐藏然后它显示隐藏。我也将 setTimeout 设置为 7sec,但我希望当我的鼠标
我有一个多步骤(多页?)表单,只要用户按下“下一步”或“上一步”按钮,表单字段就会通过 div 显示和隐藏。 我只想禁用第一个 div (div id="page1"class="pageform")
我有一个使用 IIS 6 和 7 的当前系统,用 ASP.NET 和 .NET 4 中的 C# 编写。 My purpose is to hide the url completely (as per
我正在建立一个网站,并有一个幻灯片。幻灯片有标题和索引,覆盖整个页面。当覆盖被激活时,标题需要消失。当覆盖层被停用时,通过单击退出按钮、缩略图链接或菜单链接,字幕必须返回。 这就是我目前所拥有的
我正在尝试为显示/隐藏功能制作简单的 jquery 代码。但我仍然做错了什么。 $(document).ready(function(){ $('.arrow').click(function
我有一个自定义对话框并使用它来代替 optionMenu。所以我希望 myDialog 表现得像菜单,即在按下菜单时显示/隐藏。我尝试了很多变体,但结果相同: 因为我为 myDialog 设置了一个
在我的项目中,我通过 ViewPager 创建我的 tabBar,如下所示: MainActivity.java mViewPager = (ViewPager) findViewById(R.id.
我目前正在使用一个 Excel 表,我将第 1-17 行分组并在单元格 B18 中写入了一个单元格值。我想知道当我在展开/折叠行时单击 +/- 符号时是否有办法更改 B18 中的值。 例如:我希望 B
我想创建一个按钮来使用 VBA 隐藏和取消隐藏特定组。我拥有的代码将隐藏或取消隐藏指定级别中的所有组: Sub Macro1() ActiveSheet.Outline.ShowLevels RowL
我是 VBA 新手。我想隐藏从任何行到工作表末尾的所有行。 我遇到的问题是我不知道如何编程以隐藏最后写入的行。 我使用下一个函数知道最后写入的单元格,但我不知道在哪里放置隐藏函数。 last = Ra
我想根据另一个字段的条件在 UI 上隐藏或更新一个字段。 例如,如果我有一个名为 Color 的字段: [PXUIField(DisplayName="Color")] [PXStringList("
这是我尝试开始收集通常不会遇到的 GCC 特殊功能。这是@jlebedev 在另一个问题中提到g++的“有效C++”选项之后, -Weffc++ This option warns about C++
我开发了一个 Flutter 应用程序,我使用了 ProgressDialog小部件 ( progress_dialog: ^1.2.0 )。首先,我展示了 ProgressDialog小部件和一些代
我需要在 API 17+ 的同一个 Activity(Fragment) 中显示/隐藏状态栏。假设一个按钮将隐藏它,另一个按钮将显示它: 节目: getActivity().getWindow().s
是否可以通过组件的 ts 代码以编程方式控制下拉列表的显示/隐藏(使用 Angular2 清楚)- https://vmware.github.io/clarity/documentation/dro
我想根据 if 函数的结果隐藏/显示 NiceScroll。 在我的html中有三个部分,从左到右逐一滚动。 我的脚本如下: var section2 = $('#section2').offset(
我有这个 jquery 代码: $(document).ready(function(){ //global vars var searchBoxes = $(".box"); var searchB
这个问题已经有答案了: Does something like jQuery.toggle(boolean) exist? (5 个回答) 已关闭 6 年前。 在 jQuery 中(我当前使用的是 1
我在这样的选择标签上使用 jQuery 的 selectMenu。 $('#ddlReport').selectmenu() 在某些情况下我想隐藏它,但我不知道如何隐藏。 这不起作用: $('#ddl
我是一名优秀的程序员,十分优秀!