我想在我的应用程序中滑动以推送或弹出 ViewControllers ,我知道我可以向其中添加滑动手势。但是当我滑动屏幕时,我希望当前的 ViewController 跟随我的滑动手势,而下一个 ViewController 只需滑动即可。我该怎么做,谢谢!
问问题
1073 次
3 回答
2
不可能用UINavigationController
; 您必须构建自己的导航控制器(应该很容易),其中包含UIPanGestureRecognizer
.
iOS 7 的编辑:您可能想要使用UIScreenEdgePanGestureRecognizer
.
于 2013-03-21T06:31:47.780 回答
1
手势识别器具有动作方法,就像按钮一样。只需将其放在 action 方法中:
NextViewController *next = [[NextViewController alloc] init ....];
[self.navigationController pushViewController:next animated:YES];
于 2013-03-21T06:27:40.310 回答
0
阅读手势识别器。您可以创建它们并将其添加到对象上。例如
UILongPressGestureRecognizer *longTap = [[UILongPressGestureRecognizer alloc]
initWithTarget:self
action:@selector(longPress:)];
longTap.minimumPressDuration = 1.0;
[cell addGestureRecognizer:longTap];
在这里,我创建了 LongPress 识别器并将其添加到我的单元格中。如果我在我的单元格上长按(1.0 秒),它将调用选择器(长按:)。长按我可以编写任何代码。
-(void)longPress : (UILongPressGestureRecognizer *)rec {
if (rec.state == UIGestureRecognizerStateBegan) {
NSLog (@"I've longPressed");
}
}
您可以通过相同的方式使用不同的识别器。
关于推送和弹出。它们是导航控制器的方法。Push - 在您向他展示的控制器上前进;
NextController *goNext = [[NextViewController alloc] init];
[self.navigationController pushViewController:goNext animated:YES];
它将转到 NextController。Pop - 返回上一个控制器。
在这里您不需要显示以前的控制器。只是对 navController 说回来
[self.navigationController popViewControllerAnimated:YES];
于 2013-03-21T06:42:20.997 回答