Swift我应该怎么做才能在按钮的角落添加图像

时间:2015-11-15 21:36:02

标签: ios swift

这就是我想做的事情

enter image description here

当用户点击图片时,我会显示"是"图片,当他再次点击时,我删除了那个"是"图像。

如何在按钮上方添加该图像? 我应该实现自定义按钮吗? (如果是,我如何将图像添加到该自定义按钮)

我不应该从第一个位置使用按钮吗? (如果是,我应该使用什么?)

非常感谢您的帮助

我看其他问题,但听起来像他们想要为图像设置自定义背景,如添加星星但我想保留按钮的文本并添加该图像,我可以隐藏它并在动作上显示对于那个按钮

2 个答案:

答案 0 :(得分:1)

我认为更好的解决方案是创建自定义UIButton。

import UIKit

@IBDesignable
class CustomButton: UIButton {

    var rightImageView:UIImageView?

    @IBInspectable var rightImage:UIImage? {
        didSet {
            updateImage()
        }
    }

    override init(frame: CGRect) {
        super.init(frame: frame)

    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        createImageViewIfNeeded()
    }

    private func updateImage() {
        if rightImage != nil && rightImageView != nil {
            rightImageView!.image = rightImage!
        }
    }

    private func createImageViewIfNeeded() {
        if rightImageView == nil {
            let rightImageWidth:CGFloat = 30.0
            let imageViewFrame = CGRect(x: self.frame.width - rightImageWidth, y: 0, width: rightImageWidth, height: self.frame.height)
            rightImageView = UIImageView(frame: imageViewFrame)
            rightImageView!.contentMode = UIViewContentMode.ScaleAspectFit

            self.addSubview(rightImageView!)
        }
    }

}

答案 1 :(得分:-1)

您可以在UIImageView下方设置UIButton,然后为UserInteractionEnabled激活UIImageView,添加UITapGestureRecognizer来处理与UIImageView的互动{1}}并IBAction UITapGestureRecognizer UIViewController UIImageViewUIButton每次点击def getHeightValue (x): return x['height'] def containsHeight (x): return 'height' in x heights = map(getHeightValue, filter(containsHeight, people)) 时都会调用该方法,在内部你可以隐藏/取消隐藏{ {1}}如您所愿。

这只是一种解决问题的方法,还有更多。

我希望这对你有所帮助。