0

我只是想能够刷到一个新的笔尖,但我卡住了。我的代码正确构建,没有错误或警告,但没有任何反应。

这是我的代码

- (IBAction) handleSwipeGesture:(UIGestureRecognizer *) sener { 
        NSLog(@"swipe left");
    if(UISwipeGestureRecognizerDirectionLeft) {
        SecondDetailViewController *tempController = [[SecondDetailViewController alloc] 
         initWithNibName:@"SecondDetailView" 
          bundle:nil];
        newController = [tempController retain];
        [tempController release];
    }

}

系统看到我正在刷卡(它被记录),但它没有进入新的笔尖。我并没有真正与我的代码结婚,所以如果我需要完全重写它,我可以。

4

2 回答 2

3

假设您正在处理视图控制器内的滑动手势(并且您正在使用导航控制器),您应该执行以下操作:

- (IBAction)handleSwipeGesture:(UISwipeGestureRecognizer *)sender { 
    if(sender.direction == UISwipeGestureRecognizerDirectionLeft) {
        NSLog(@"swipe left");
        SecondDetailViewController *tempController = [[SecondDetailViewController alloc]
                                  initWithNibName:@"SecondDetailView" bundle:nil];
        [self.navigationController pushViewController:tempController animated:YES];
        [tempController release];
    }
}

这条线推tempController到导航控制器的顶部:

[self.navigationController pushViewController:tempController animated:YES];

如果你想以tempController模态方式呈现,你应该调用它:

[self presentModalViewController:tempController animated:YES];
于 2011-10-20T19:43:49.520 回答
0

创建 newController 对象后,您不会对其进行任何操作。您需要将其推送到您的导航控制器上,以模态方式呈现它,或者抓取视图并将其放在屏幕上。

于 2011-10-20T19:44:16.440 回答