【问题标题】:get UIImage from sender in swift快速从发件人处获取 UIImage
【发布时间】:2015-07-10 01:47:48
【问题描述】:

我在表格单元格中有一个UIImageView,并在其中添加了一个tapGesture。 我想在handleTap方法中访问UIImageView

这是 TableCell 中 Image 的代码:

func setImageForCell(cell:ImageCell, indexPath:NSIndexPath) {
    var image : UIImage = UIImage(named: "brunnen1")!

    cell.customImageView.userInteractionEnabled = true
    cell.imageView!.tag = indexPath.row;
    var tapGestureRecognizer = UITapGestureRecognizer(target:self, action:Selector("handleTap:"))
    tapGestureRecognizer.numberOfTapsRequired = 1;
    cell.customImageView.addGestureRecognizer(tapGestureRecognizer)
    cell.customImageView.image = image
}


func handleTap(sender : UIView) {
    // get the UIImageview from the sender, i guess ?

}

我想我必须从UIView 投射它?

【问题讨论】:

    标签: swift casting uitapgesturerecognizer


    【解决方案1】:

    试试这个代码。

    func handleTap(sender : UITapGestureRecognizer) {
        let imgView = sender.view as! UIImageView
        // Do something.
    }
    

    由于您使用手势识别器,handleTap 的发件人将是 UITapGestureRecognizer。手势识别器有你想要的。

    var view: UIView? { get } // 手势附加到的视图。通过使用 addGestureRecognizer: 方法将识别器添加到 UIView 来设置

    【讨论】:

      【解决方案2】:

      不,senderUITapGestureRecognizer 而不是 UIView。你应该这样做:

      func handleTap(sender : UITapGestureRecognizer) {
          let imageView = sender.view as! UIImageView
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多