使用 UINavigationController 时在 UITableView 顶部插入图像?
我的 MainWindow.xib 中有一个 UINavigationController 和 UITableView。我正在尝试在视图顶部插入不可触摸/不可移动的图像。 (我不想简单地更改 UINavigationBar 背景,因为根据我的经验,UINavigationBar 高度不能任意增加。)
由于这是一个根视图,它的行为由我的 RootViewController 控制。当视图加载时,我使用 self.navigationController.navigationBarHidden = YES; 隐藏导航栏
我尝试将 UIView 添加到 UITableView 的顶部,但是当用户滚动表格时,顶部图像移动。如何将固定图像放置在 UITableView 的顶部,而不像单元格一样移动,并且不使用 UINavigationBar 背景图像?
天真的可能性:
- 将视图包含在另一个视图中,该视图的顶部包含图像?
- 在屏幕顶部覆盖图像蒙版?
(HIG 违规,有人知道吗?)
I have a UINavigationController and UITableView in my MainWindow.xib. I'm trying to insert a non-touchable/non-movable image at the top of the view. (I don't want to simply change the UINavigationBar background, as from what I've experienced, the UINavigationBar height cannot be arbitrarily increased.)
As this is a root view, its behaviour is controlled by my RootViewController. When the view loads, I hide the navigation bar using self.navigationController.navigationBarHidden = YES;
I've tried adding a UIView to the top of the UITableView, but when the user scrolls through the table, the top image moves. How can I place a stationary image at the top of the UITableView without it moving as if it were a cell and without using a UINavigationBar background image?
Naively-Considered Possibilities:
- Enclose the view in another view, the top of which contains the image?
- Overlay an image mask at the top of the screen?
(HIG violation, anyone?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的视图控制器是 UITableViewController,您将无法轻松添加另一个视图,因为 tableViewController 仅管理一个视图,即 UITableView。我建议使用普通的 UIViewController,而不是为顶视图添加 UIView 并为内容添加 UITableView 作为主视图的子视图>viewController.view。然后,在
UIViewController
中实现UITableViewDelegate
和UITableViewDataSource
协议。If your view controller is a
UITableViewController
you can't easily add another view because the tableViewController just manages a single view which is theUITableView
. I recommend using a plainUIViewController
instead where you add aUIView
for your top view and aUITableView
for your content as subviews to the mainviewController.view
. Then, implement theUITableViewDelegate
andUITableViewDataSource
protocols in yourUIViewController
.您可以创建另一个
UIViewController
,其中包含UITableViewController
和顶部的静态图像。这样,您甚至可以调整表格视图的大小,以便静态图像显示在表格上方而不是表格上方。自从我上次使用可可应用以来已经很长时间了,所以我不能保证它有效。
You can create another
UIViewController
which contains theUITableViewController
and your static image on top. This way, you can even resize the table view so the static image is displayed above and not over your table.Has been a long time since I made my last cocoa application, so I cannot promise that it works.