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 响应事件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 好奇触摸事件是如何从屏幕转移到APP内的?困惑于Cell怎么突然不能点击了?纠结于如何实现这个奇葩响应需求?亦或是...
    Lotheve阅读 58,131评论 51 603
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 6,138评论 4 26
  • 代码创建UIWindow对象 Xcode7之后使用代码创建UIWindow对象: //创建UIWindow对象 s...
    云之君兮鹏阅读 1,370评论 0 2
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • 酷暑难熬,但对于全国各地的旅游业却是难得的旺季——除了海南等特别热的地方。当然夏天也是自行车旅游的好时节,进藏路上...
    sarsbiker阅读 719评论 0 1