我只是希望能够刷到一个新的笔尖,但我会卡住。我的代码构建正确,没有错误或警告,但没有任何反应。
这是我的代码
- (IBAction) handleSwipeGesture:(UIGestureRecognizer *) sener {
NSLog(@"swipe left");
if(UISwipeGestureRecognizerDirectionLeft) {
SecondDetailViewController *tempController = [[SecondDetailViewController alloc]
initWithNibName:@"SecondDetailView"
bundle:nil];
newController = [tempController retain];
[tempController release];
}
}
系统看到我正在滑动(它被记录)但它没有转到新的笔尖。 我并没有真正嫁给我的代码,所以如果我需要完全重写这个我就可以。
答案 0 :(得分: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];
答案 1 :(得分:0)
创建后,您没有对newController对象执行任何操作。您需要将其推送到导航控制器,以模态方式显示,或抓取视图并将其放在屏幕上。