在我的Ipad应用程序中,我有一个拆分视图,其中详细视图是滚动视图...
我有滚动视图的3个子视图,它们是tableviews ...
执行操作时,如何使用- (void)bringSubviewToFront:(UIView *)view
将scrollview的其中一个子视图置于前面? (因为视图按照它们添加的顺序“堆叠”,最后一个添加在顶部)。我应该在子视图中还是在detailViewController中编写代码,如何调用它?
答案 0 :(得分:1)
您在控制器中编写代码。
控制器应该可以通过IBOutlet
属性访问表视图。或者,如果您没有使用笔尖设置它们,控制器应该是创建它们的那个。
例如,如果某个按钮点击负责显示特定的表格视图,则可以使用该按钮的动作处理程序方法调用bringSubviewToFront:
方法。
但是:听起来你有三个桌面视图,并且使用bringSubviewToFront:
来显示当前的视图,它们都在UIScrollView中。
每个UITableView都包含一个UIScrollView。不要在scrollview中放置一个scrollview,他们会争取跟踪触摸,事情会变得奇怪。只需将三个表视图放在一个简单的UIView中。
您应该考虑隐藏非活动视图(call setHidden:
),而不是bringSubviewToFront:。这样,隐藏的视图将不会被视为响应者链的一部分(不会被发送事件)。