gpt4 book ai didi

iphone - 绘画应用中的 UISwipeGestureRecognizer

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:32 25 4
gpt4 key购买 nike

我正在开发一个简单的笔记/绘画应用程序。我有一个像纸/ Canvas 一样工作的 View Controller 。在其中我想实现 UISwipeGestureRecognizer,例如,当用户想要快速显示菜单时,他或她可以向上滑动而不是点击我的“编辑”按钮,或者当他/她想要换纸时向左或向右滑动/注意。

问题是,当用户滑动(用两根手指)时,应用程序也会在同一方向绘制一条短线。

我已经像这样实现了 UISwipeGestureRecognizer:

UISwipeGestureRecognizer *recognizer;

recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self
action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
recognizer.numberOfTouchesRequired = 2;
[[self view] addGestureRecognizer:recognizer];
[recognizer release];

// Delegate method
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {

return YES;
}

// Helper method for handeling swipes
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
if (recognizer.direction == UISwipeGestureRecognizerDirectionUp) {
[self enableEditingMode];
}
}

绘画机制在同一 Controller 的以下方法中处理:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

上面的三个方法似乎在我的 UIGestureRecognizer 之前被调用。我试图制作一个 BOOL 变量,如果 bool 变量为 YES,则禁用绘画代码。但这没有用。关于如何解决这个问题的任何其他想法都会很棒!

注意:我正在模拟器中进行滑动测试。也许这会影响它?

最佳答案

你需要确保你也实现了

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

这样你就可以撤消触摸。

关于iphone - 绘画应用中的 UISwipeGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7676108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com