Closed:: 创建一个带有滑动和点击手势的 UIButton 水平轮播

Posted

技术标签:

【中文标题】Closed:: 创建一个带有滑动和点击手势的 UIButton 水平轮播【英文标题】:Closed:: Creating a UIButton horizontal carousel with swipe and tap gestures 【发布时间】:2015-02-10 21:38:08 【问题描述】:

在 VC 内部,我试图弄清楚如何让 UIButton 识别水平滑动然后点击。

有一个文本数组。

var plotList = ["stuff", "to do", "this", "or that"]

默认显示为 plotList[0]。

轮播在无限循环中重复并不会在数组末尾停止。

当用户只在按钮上滑动时,我不希望 VC 的其他组件对这个特定的滑动做出反应,我希望按钮显示 plotList 字符串。

当用户点击按钮时,我想将结果推送到一个将启动相应 UIView 的开关中。

我想避免使用这种 UILabel/UIButton 组合。见Handling Touch Event in UILabel and hooking it up to an IBAction。

到现在为止

import UIKit

class carouselVC: UIViewController 


  @IBOutlet var carouselView: UIView!
  @IBOutlet var labelOutlet: UILabel!
  @IBOutlet var buttonOutlet: UIButton!

  var plotList = ["stuff", "this", "that"]

  let swipeRec = UISwipeGestureRecognizer()


  override func viewDidLoad() 
    super.viewDidLoad()
    var swipeButtonLeft: UISwipeGestureRecognizer =
    UISwipeGestureRecognizer(target: self, action: "buttonLeft")
    swipeButtonLeft.direction = UISwipeGestureRecognizerDirection.Left
    self.buttonOutlet.addGestureRecognizer(swipeButtonLeft)

    var swipeButtonRight: UISwipeGestureRecognizer =
    UISwipeGestureRecognizer(target: self, action: "buttonRight")
    swipeButtonRight.direction = UISwipeGestureRecognizerDirection.Right
    self.buttonOutlet.addGestureRecognizer(swipeButtonRight)

  

  override func didReceiveMemoryWarning() 
    super.didReceiveMemoryWarning()
  

  func buttonLeft()
    println("buttonLeft")
  
  func buttonRight()
    println("buttonRight")
  

  @IBAction func buttonAction(sender: UIButton) 
    sender.setTitle(plotList[1], forState: .Normal)
  

有什么帮助吗?

【问题讨论】:

我一直在研究这个例子,并认为我需要像这样的科学怪人http://***.com/questions/28059381/adding-gestures-to-a-button-in-swift 【参考方案1】:

使用带有 UILabel 的 UIView,而不是按钮。在 UILabel 上添加 UIView 并使其颜色清晰。你可以让 UIlabel 看起来像一个按钮。在其上添加滑动手势/点击手势。并在手势的动作中做任何操作。

【讨论】:

以上是关于Closed:: 创建一个带有滑动和点击手势的 UIButton 水平轮播的主要内容,如果未能解决你的问题,请参考以下文章

滑动手势识别器在垂直方向上不起作用

带有谷歌地图的 Iphone App + UIView 不响应滑动手势

暂时禁用手势识别器滑动功能

当通过手势识别器滑动切换到仅点击选项卡时,在 tabbarcontroller 中切换选项卡会给出不同的结果

iPhone SDK 4.0 中的滑动手势? [关闭]

简单的 Kivy 手势(滑动)