Mat*_*der 4 ios swrevealviewcontroller
现在我在我的项目中使用SWRevealViewController类.基本功能允许我通过按导航栏按钮交换前视图.但我想在整个视图中添加手势.
我可以添加此代码,它适用于我的按钮.
[self.startTestButton addGestureRecognizer:self.revealViewController.panGestureRecognizer];
Run Code Online (Sandbox Code Playgroud)
但它只适用于一个UI元素.所以我不能为这个手势添加其他UI元素.
下面的代码显示了如何编写panGestureRecognizer方法:
- (UIPanGestureRecognizer*)panGestureRecognizer
{
if ( _panGestureRecognizer == nil )
{
SWDirectionPanGestureRecognizer *customRecognizer =
[[SWDirectionPanGestureRecognizer alloc] initWithTarget:self action:@selector(_handleRevealGesture:)];
customRecognizer.direction = SWDirectionPanGestureRecognizerHorizontal;
customRecognizer.delegate = self;
_panGestureRecognizer = customRecognizer ;
}
return _panGestureRecognizer;
}
Run Code Online (Sandbox Code Playgroud)
要将手势识别器添加到整个视图,只需将其添加到整个视图而不是单个按钮.我正在使用SWRevealViewController,我的主要观点是UITableView为了让手势识别器在整个视图中工作我在viewDidLoad我的方法中有这个UIViewController:
[self.tableView addGestureRecognizer: self.revealViewController.panGestureRecognizer];
因此,只需将识别器添加到您喜欢的视图中即可.对于大多数人来说,UIViewContoller这将是self.view.
显然,如果视图的任何控件或子视图具有自己的手势识别器,则这些将优先于顶级视图中的那个,这样平移仅在未被这些子视图占据的区域中工作.
| 归档时间: |
|
| 查看次数: |
7750 次 |
| 最近记录: |