触摸开始方法问题?

时间:2011-03-14 06:01:49

标签: iphone objective-c cocoa-touch

我创建了一个应用程序,我想在其中使用touchbegan方法。为此,我使用了以下代码:


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //Get all the touches.
    NSSet *allTouches = [event allTouches];

    //Number of touches on the screen
    if([allTouches count] > 0 && self.view!=comparedView.view) 
    {
        //Navigate to next screen here likewise you generally do

        ActionViewController *actController = [[ActionViewController alloc] init];
        UINavigationController *nvController = [[UINavigationController alloc]
                                                initWithRootViewController:actController];
        nvController.navigationBarHidden = YES;
        CGRect frame = [[nvController navigationBar] frame];
         frame = CGRectMake(0.0,0.0, 320.0, 460.0);
        [[nvController navigationBar] setFrame:frame];
        [self setView:[nvController view]];
        [actController release];

    }

}

触摸我的第一个视图的屏幕上的任何位置,将执行以下代码,它将转到下一个视图。但问题是,当我转到最后一个视图并触摸该视图中的imageview时,会调用上述方法。

我不知道它是如何发生的。

1 个答案:

答案 0 :(得分:2)

每次都会调用

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event ,直到视图控制器被释放或触摸事件被禁用。

每次创建视图并将其添加到同一视图控制器中,因此所有视图都会调用触摸开始