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