UI实例:继承UIControl

继承自UIControl,

自定义Button。

    func createImageView(){
//        self.userInteractionEnabled = true        默认就是开的,因为继承自 UIControl
        self.userInteractionEnabled = false//要关掉
class AppButton: UIControl{
    
    private var appImageView: UIImageView?
    
    private var nameLabel: UILabel?
    
    private var commentLabel: UILabel?
    
    private var downloadLabel: UILabel?
    private var myStarView: StarView?    
    var item: AppItem? {
        didSet{
            
            let url = NSURL(string: (self.item?.iconUrl)!)
            self.appImageView?.kf_setImageWithURL(url)
            
            
            self.nameLabel?.text = self.item?.name
            
            
            self.commentLabel?.text = self.item?.ratingOverall
            
            
            self.downloadLabel?.text = "下载:\((self.item?.downloads)!)"
            
            let rate = NSString(string: (self.item?.starOverall)!).floatValue
            
            
            self.myStarView?.setRating(CGFloat(rate))
        }          }


    override init(frame: CGRect) {
        super.init(frame: frame)
  self.myStarView = StarView(frame: CGRectMake(50,20,65,23))
        self.addSubview(self.myStarView!)
//点击button 的其它部分,都响应。
//点击starView , 就是不响应。
//因为starView 的用户交互,默认就是开的。点击他,但没给他写响应方法,事件传不过去。
//关了用户交互就好了 ,由 自定制的 Button 响应事件。

你可能感兴趣的:(UI实例:继承UIControl)