相关疑难解决方法(0)

UIPickerView,检测"滚轮"启动和停止?

我刚刚发现如果我做以下事情:

  1. 单击将动画显示UIPickerView在我的视图中的按钮
  2. 快速启动车轮朝向最后一个项目滚动,然后经过
  3. 使用按钮关闭视图

然后它还没有选择最后一个项目.

我试图通过在didSelectRow方法被触发时简单地输出到控制台,并且当车轮稳定在最后一个项目时它会触发.

我可以检测到车轮仍然在滚动,这样我可以延迟检查它是否有选定值,直到它稳定下来?

如果重要的是,我正在使用MonoTouch进行编程,但如果您有一个代码示例,我可以很好地阅读Objective-C代码以重新实现它.

uipickerview xamarin.ios ios

6
推荐指数
3
解决办法
7804
查看次数

在swift中为按钮添加手势

我正在尝试向我视图中的现有按钮添加手势(滑动)功能,但我无法弄清楚如何将滑动附加到按钮的区域.

所需的效果是有一个按钮,我可以按下以及滑动以产生不同的结果.到目前为止,我正在实现手势的方式将其应用于我的整个视图而不仅仅是按钮.

我觉得这很简单,但它已经让我逃脱了几天 - 我可能只是在寻找错误的东西.

(我将'@IBOutlet var swipeButton:UIButton!'分配给我的按钮BTW)

代码如下:

class ViewController: UIInputViewController {

@IBOutlet var swipeButton: UIButton!

let swipeRec = UISwipeGestureRecognizer()

override func viewDidLoad() {
    super.viewDidLoad()
    self.loadInterface()

    var swipeButtonDown: UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "ButtonDown")
    swipeButtonDown.direction = UISwipeGestureRecognizerDirection.Down
    self.view.addGestureRecognizer(swipeButtonDown)
}

@IBAction func buttonPressed(sender: UIButton) {
    var proxy = textDocumentProxy as UITextDocumentProxy
    proxy.insertText("button")
}
func buttonDown(){
    var proxy = textDocumentProxy as UITextDocumentProxy
    proxy.insertText("swipe")
}

}
Run Code Online (Sandbox Code Playgroud)

xcode ios swift

6
推荐指数
1
解决办法
7308
查看次数

使用 Storyboard 检测 WatchKit 上所有四个方向的滑动

我试图检测 AppleWatch 上所有四个方向的滑动。但是我不清楚如何为我插入故事板的 WKSwipeGestureRecognizer 的方向分配许多值。我试过:

swiper.direction = [.right , .left ,  .up , .down]
Run Code Online (Sandbox Code Playgroud)

编译器有趣地接受了这一点,与使用按位 | 不同,但是,使用此配置,功能:

@IBAction func swipe(_ sender: Any) {
    switch swiper.direction {
    case WKSwipeGestureRecognizerDirection.right:
        print("Swiped right")
    case WKSwipeGestureRecognizerDirection.down:
        print("Swiped down")
    case WKSwipeGestureRecognizerDirection.left:
        print("Swiped left")
    case WKSwipeGestureRecognizerDirection.up:
        print("Swiped up")
    default:
        break
    }

}
Run Code Online (Sandbox Code Playgroud)

很少被调用,当它是 swiper.direction 时,总是 .right。

Apple 非常神秘:https : //developer.apple.com/reference/watchkit/wkswipegesturerecognizer/1650828-direction 说:

“此属性的默认值是正确的。您可以指定多个方向以使用相同的手势识别器跟踪多个方向的滑动。”

不透露如何。

swipe swift apple-watch watchkit

5
推荐指数
1
解决办法
1271
查看次数

无法正确获取UISwipeGestureRecognizer方向

我正在编写代码,在视图上向上或向下移动我的两个手指以改变某些状态.代码如下:

UISwipeGestureRecognizer *aSwipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeGesture:)];
[aSwipeGesture setDirection:UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown];
aSwipeGesture.numberOfTouchesRequired = 2;
[self.View addGestureRecognizer:aSwipeGesture];


- (void)swipeGesture:(UISwipeGestureRecognizer *)sender {
    NSLog(@"Swipe received.");
    if (sender.direction==UISwipeGestureRecognizerDirectionUp) {
        NSLog(@"swipe up");
    } else if (sender.direction==UISwipeGestureRecognizerDirectionDown) {
        NSLog(@"swipe down");
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,我可以收到的唯一打印日志是Swipe收到,如下所示.我无法收到刷卡或向下滑动的消息,我是否遗漏了什么?谢谢

ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
ViewController.m:228    Swipe received.
Run Code Online (Sandbox Code Playgroud)

更新:我必须用两根手指才能完成滑动动作.

uigesturerecognizer ios uiswipegesturerecognizer

3
推荐指数
2
解决办法
4582
查看次数

Swift Navigation Controller 滑动即可返回任何地方

我有一个带有嵌入式导航控制器的视图控制器,我希望呈现的控制器能够在任何地方滑动以返回到根控制器。这怎么可能通过使用 SwipeGesture 或扩展导航控制器?

另请注意,所呈现的控制器是一个表格视图并且具有单元格笔尖。

xcode uitableview uinavigationcontroller swift

3
推荐指数
1
解决办法
5644
查看次数

忽略/拦截快速子视图上的滑动

我目前有一个单页 swift 应用程序(适用于 iOS)在自定义视图控制器上运行。在该视图控制器中,我嵌入了另一个自定义 UIView 来显示一些内容/处理一些用户交互。

我想知道是否有一种方法可以拦截在自定义视图控制器中注册的 UISwipe,并且如果它发生在嵌入视图上,则可以快速忽略它。我知道对于点击,我可以将视图控制器设置为点击手势识别器的委托,并执行如下操作:

// not exact syntax
func gestureRecognizer(touch){
     if (touch.view == self.embeddedView || (touch.view.isDescendantOf(embeddedView))!){
           return false
      }
   return true
}
Run Code Online (Sandbox Code Playgroud)

但是我找不到任何与滑动功能相同的功能。有人能指出我正确的方向吗?

xcode ios swift

2
推荐指数
1
解决办法
1354
查看次数