我的屏幕上有一些这样的视图
__________________
| _____ |
| | | | //viewX is a video screen
| | | |
| viewX | vY | | //viewY is a custom uiview i created.
| |____| | //it contains a method which i would like to call that toggles
|_________________| //the hidden property of this view. and when it hides, a little
| | //button is replaced no the top right corner on top of viewX
| viewZ | //the video layer
| |
|_________________| //viewZ is a view containing many square views - thumbnails.
我的问题是,我不知道如何注册触摸事件,以便无论用户触摸屏幕的哪个视图,它都可以识别任何触摸事件。.atm im为其中的每个视图处理触摸事件。所以一切都很好...
但是,我试图做的是,当用户在屏幕上除viewY之外的其他任何位置上轻按时,应通过在viewY类中调用该方法来消失viewY。
此viewY类已实例化,并且未附加任何xib文件。 uiview是在viewY类中以编程方式创建的。 viewY行为的整个类都在viewX-视频视图中实例化。
我的老板说,增加代表..虽然我现在知道如何做到这一点...有什么帮助吗?
无论如何,无论我从哪个班级打电话,我都可以使其变得非常简单并能够说出删除视图?
我还看过其他人通过使用这些时髦的箭头-> ...
啊,我认为香港专业教育学院使我的问题相当复杂,但我的意思是说这是一个简单的问题,并且知道可以通过简单的方式完成!
最佳答案
不会打电话
[viewY hideThisViewAndShowLittleButton];
做正确的工作?如果要删除viewY,则可以致电:
[viewY removeFromSuperview];
为了从
viewY
访问viewZ
,只要viewZ
可以访问viewX
,则可以在viewX
中定义一个返回到viewY
的方法。类似于(在您的viewX
的实现文件中:- (UIView*)viewY {
return <viewX_knows_which_value_to_return>;
}
对于
viewX_knows_which_value_to_return
,如果viewY
是唯一的子视图,则可以执行以下操作:[self.view.subviews lastObject];
(注意:我在这里假设viewX实际上是一个视图控制器,而不是UIView)。