我希望能够显示表格的详细视图,但不能推送新的屏幕,而只显示表格的详细视图。
设置此项的最佳方法是什么?如果实际可行的话?
------------------------------------
| |
| nav bar or tool bar |
------------------------------------
| |
| this area stays static |
| |
------------------------------------ ---------------------------------
| | | |
| | | |
| | | |
| table… | | new uitableview pushed. |
| | cell clicked-> | only the table area changes |
| | | |
| | | |
| | | |
------------------------------------ ---------------------------------
| | | | | |
| | | | | | < tab bar
| | | | | |
------------------------------------
答案 0 :(得分:1)
如果你想要一个类似于推动UIViewController的效果,我猜你可以为tableview设置动画,并同时为新视图设置动画。我认为没有办法使用实际的UINavigationController机制,因为它用新的viewcontroller视图替换UINavigationController堆栈上的当前视图。
答案 1 :(得分:1)
我建议两种方法:
uitableView
插入UIView
,这样您就会始终引用一个容纳非常合适视图的容器。您还需要管理此表视图的子subviews
的帧大小。在您的情况下,它将是第一个uitableview
和按钮点击下一个子视图可以使用parent container
的引用添加。uitableview's frame
的位置。在插入另一个子视图时,您可以设置框架,以便在基座uitableview
上方留下重叠的印象。答案 2 :(得分:0)
在表格视图的顶部放置另一个视图并将其隐藏起来。设置内容并在需要时取消隐藏。
答案 3 :(得分:0)
最好的方法,在我看来解决这个问题的方法是使用一个UINavigationController
,它没有显示导航条并且没有填满屏幕。因此,您的静态区域只是普通的UIView
,但您的表视图实际上位于UINavigationController
内,但看起来它是一个普通的表 - 因为导航栏是隐藏的。
这意味着您可以将“动态”内容推送到UINavigationController
,这会激活屏幕的该部分,但屏幕的其余部分将保持静态。