ios – 如何使用Interface Builder设置UIScreenEdgePanGestureRe
当我使用Interface Builder将其添加到我的视图控制器时,我无法使UIScreenEdgePanGestureRecognizer工作,所以我在这里要求确定我是做错了,还是Xcode中有错误。
以下是重现步骤: >使用iOS的“单一查看应用程序”模板创建一个新的Xcode项目。 >打开ViewController类的助理编辑器,并从UIScreenEdgePanGestureRecognizer中拖拽到ViewController的实现块,以创建一个新的IBAction 得到的代码如下: 如果我在我的设备上运行应用程序(运行iOS 8.02的iPhone 6),那么当我进行边缘扫描时,断点不会受到打击。 有没有我失踪的东西? 更新:这是在2014年10月8日提交给苹果(rdar:// 18582306)的错误,但仍然没有在Xcode 6.4(6E35b)中解决。 解决方法
我设立了一个项目来测试你的问题,发现你所做的同样的问题。以下是我设置的测试场景:
>我完全按照你所做的,使用Interface Builder来构建屏幕边框手势。我的代码中唯一的区别是我把一行代码放在选择器中,所以调试器会有一些停止的代码。调试器无法像您所发现的那样停止。 -(void)handlePan:(id)sender { NSString *test = @""; } >然后,我使用Interface Builder在同一视图上使用捏捏手势创建了一个附加的手势,并且我能够让调试器在该选择器中停止。所以Interface Builder似乎能够正确地构建其他手势。 在ViewController.h文件中,我添加了UIGestureRecognizerDelegate。 @interface ViewController : UIViewController <UIGestureRecognizerDelegate> @end 在ViewController.m文件中,我手动实现了手势。 #import "ViewController.h" @interface ViewController () -(void)handlePan:(id)sender; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIScreenEdgePanGestureRecognizer *pan = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)]; [pan setEdges:UIRectEdgeLeft]; [pan setDelegate:self]; [self.view addGestureRecognizer:pan]; } -(void)handlePan:(id)sender { NSString *test = @""; } @end 最后我得出了相同的结论 – Interface Builder的UIScreenEdgePanGestureRecognizer实现似乎有问题。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |