ios - UIButton 在 Swift 中停止 UIScrollView 滚动

标签 ios button uiscrollview swift

我的 UIScrollView 区域滚动完美,除非用户按下其中一个按钮:

var button:UIButton = UIButton.buttonWithType(UIButtonType.Custom) as UIButton
button.frame = CGRectMake(0,0,self.width, self.menuHeight)
button.addTarget(self, action: "buttonClicked:", forControlEvents: UIControlEvents.TouchUpInside)
button.tag = Int(itemNo)
scrollView.addSubview(button)

和 buttonClicked 代码:

func buttonClicked(sender:UIButton)
{
    var tag = sender.tag
    println(tag)
}

看起来 TouchUpInside 方法即使在用户将他的取景器从按钮上移开时也能保持控制。让我的 UIScrollView 区域可靠滚动的最佳方法是什么?

最佳答案

尝试将 UIScrollViewdelaysContentTouches 属性设置为 NO

此外,您可以将 canCancelContentTouches 属性设置为 YES。 (默认情况下为 YES,但以防万一。)


Reference (来自文档):

  • canCancelContentTouches:控制内容 View 中的触摸是否始终导致跟踪的 bool 值。

  • delaysContentTouches:一个 bool 值,用于确定 ScrollView 是否延迟触摸手势的处理。

关于ios - UIButton 在 Swift 中停止 UIScrollView 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25355638/

相关文章:

html - CSS 背景图像在 iPad 和 iPhone 上无法正确调整大小。

ios - 显示屏幕时如何 move 到幻灯片

java - 如何通过循环 Id 数组来设置按钮 Id,并使用循环设置按钮文本?

button - iOS自定义按钮类似于barbutton

ios - 如何使 UIScrollView 的 subview 居中

ios - UITextView 内阴影

ios - 是否可以在不要求用户从锁屏界面打开的情况下使用 Handoff?(Apple Watch)

javascript - 警报按钮没有响应

iphone - 使用CATiledLayer,渲染时图 block 之间的细线,使用ImageMagick生成的图 block

iphone - viewForZoomingInScrollView UIScrollView 背景和图像不同步