我想通过触摸UIToolbar上的UIBarButtonItem并移动来创建滑动的UIBarButtonItem。我读了一些主题,发现我必须实现touchesMoved。但是在哪里呢?我发现的唯一地方是UIButton,我在UIBarButtonItem。
我是viewController viewDidLoad
self.toolbar = [[UIToolbar alloc] initWithFrame: CGRectMake(bounds.origin.x, bounds.size.height - 2.5*height, bounds.size.width, 2*height)];
SlideButton* infoButton = [SlideButton buttonWithType: UIButtonTypeDetailDisclosure];
UIBarButtonItem *slideButton = [[UIBarButtonItem alloc]initWithCustomView:infoButton];
self.toolbar.items = items;
[self.view addSubview:self.toolbar];最奇怪的是,我试图将UIButton绑定到操作(addTarget: action :forEvents),而且它非常准确。但我不能采取接触的立场,因为我没有事件发生,所以我不能使用这种方法。
发布于 2013-03-11 15:35:32
可以将UIPanGestureRecognizer添加到工具栏中。
它只识别pan手势(拖动)。在目标方法中,用CGRectContainsPoint(CGRect, point)方法检查触摸是否在你的框架内,酒吧按钮和第一次触摸类似于if(UIGestureRecognizerStateBegan)。
如果是,那么在UIGestureRecognizerStateEnded or UIGestureRecognizerStateCancelled禁用拖动之后启用拖动。
https://stackoverflow.com/questions/15342223
复制相似问题