触摸一旦以编程方式创建的视图(窗口),就调用动作

时间:2013-09-06 05:34:29

标签: ios objective-c uiview uiwindow

我目前正在我的应用内创建一个下拉搜索栏。 当下拉动画开始时,新的-UIView覆盖当前的动画以创建黑色透明效果。

但是我需要知道如何创建一个在触摸-UIView后发送动作的侦听器。

这就是我创建透明-UIView / -UIWindow

的方法
    UIWindow* window = [UIApplication sharedApplication].keyWindow;
    blackView = [[UIView alloc] initWithFrame: CGRectMake ( 0, 0, 320, 750)];
    blackView.backgroundColor = [UIColor blackColor];
    [window addSubview:blackView];
    blackView.alpha = 0.6;

下拉列表的图片和-UIView

App Image

2 个答案:

答案 0 :(得分:1)

最好的方法是将UITapGestureRecognizer添加到您的视图中,例如

UITapGestureRecognizer *gestureRec = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(TouchViewMethod:)];
gestureRec.numberOfTouchesRequired = 1;
gestureRec.numberOfTapsRequired = 1;
[self.yourViewName addGestureRecognizer:gestureRec];

方法

-(void)TouchViewMethod:(UITapGestureRecognizer *)touch
{

   //// Do your stuff;

}

答案 1 :(得分:0)

我认为您必须实施

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
,或者您必须将tapgetsture识别器添加到视图中。