我正在创建自己的幻灯片菜单,非常简单。
我正在创建一个子视图,将其添加到视图中,然后将self.view
向右滑动170px
,这会显示新的子视图(名为secondView
)。
但是,将self.view
向右移动后,新视图上的按钮都不会被点击(就像我之前那样)。所以我想象,因为视图已移动,视图是应用程序的可点击区域。
是否有办法将内容移动到视图而不是视图,以允许新视图可点击。
答案 0 :(得分:0)
问题是:
触摸视图框外的内容永远不会触发其子视图的事件。
我的意思是,self.view.frame
之外的触摸永远不会触发secondView
的事件,而self.view
是[self.view.window addSubview:secondView]
的子视图之一。
见:Event Handling Guide for iOS
您可self.view
移动secondView
和[self.view.window addSubView:secondView];
CGRect viewFrame = self.view.frame;
CGRect secondFrame = secondView.frame;
viewFrame.origin.x += 170;
secondFrame.origin.x += 170;
[UIView animateWithDuration:0.2 animations:^{
self.view.frame = viewFrame;
secondView.frame = secondViewFrame;
}];
。
self
注意强>:
如果UINavigationController
不是window的rootViewController,上面的代码可能会导致麻烦。例如在{{1}}。