具有自定义 UINavigationBar 大小的 UITableView“自动调整大小”

Posted

技术标签:

【中文标题】具有自定义 UINavigationBar 大小的 UITableView“自动调整大小”【英文标题】:UITableView "autoresize" with custom UINavigationBar size 【发布时间】:2009-06-20 17:00:59 【问题描述】:

HTF?

我是 iphone SDK 的新手。对于导航栏和适用(来自NIB),例如。一个空的/新的基于导航的应用程序,在不剪切/重叠 uitableview 的情况下更改 uinavigationbar 高度的最佳方法是什么?我基本上只需要将 uitableview 向下移动,我现在几乎已经尝试了所有方法。

Q1) 最好使用例如。 navigationBar.frame = CGRectMake(0, 20, 320, 88); 还是我应该改用navigationBar.bounds

Q2) 你是用CGRectMake 设置tableView.bounds 还是.frame?还是我忽略了一些明显的东西?

我也尝试过不同的autoresizingMask 组合

来吧,人们!这应该很容易。我在这里做错了什么?

【问题讨论】:

【参考方案1】:

UINavigation 有一个固定的大小 - 不容易更改,如果更改它可能会违反 Apple 的 HIG。

除此之外,我不完全确定您在问什么。导航栏是否遮挡了表格视图的顶部? 如果是这种情况,只需在表格视图上方留出 44 像素的空间。如果这不起作用,或者您的表格视图没有嵌入到另一个视图中,您可以在表格视图上设置 contentInset 属性,以显式地在表格视图的滚动视图顶部与表格视图中的内容之间留出空间。

【讨论】:

谢谢!那成功了。我需要使用 contentInset。我仍然不确定哪种方式最适合调整导航栏的大小... navbar.frame 或 navbar.bounds。无论如何再次感谢。仅供参考:我正在尝试在移动 Safari 应用程序中模拟谷歌搜索栏。 查看 UINavigationItem 的 prompt 属性。这就是用于在移动 safari 中实现“更大的导航栏”的方法。 至于搜索栏何时展开,那很可能是自定义视图。我不确定您是否可以在不滚动的情况下拥有一个带有提示、按钮和搜索字段的导航栏。

以上是关于具有自定义 UINavigationBar 大小的 UITableView“自动调整大小”的主要内容,如果未能解决你的问题,请参考以下文章

由于奇怪的 UINavigationBar 视图层次结构,自定义 UINavigationBar 不起作用

创建一个像 UINavigationBar 这样的半透明视图

UINavigationBar 问题的自定义背景

如何自定义 UINavigationBar

UINavigationBar 自定义标题视图

IOS5中如何自定义UINavigationBar