2015-12-09 25 views

回答

0

我發現的最簡單的方法是繼承UIButton而不是UIImageView(因爲UIButton已經有一個圖像子視圖)。您可能並不需要我放在那裏(重要的部分是在layoutSubviews中設置imageView?.adjustsImageWhenAncestorFocused = true)

class AtvImageButton:UIButton 
{ 

    override func awakeFromNib() 
    { 
     super.awakeFromNib()  
     contentMode = UIViewContentMode.ScaleAspectFit 
     contentHorizontalAlignment = .Fill 
     contentVerticalAlignment = .Fill  
    } 

    override func layoutSubviews() 
    { 
     imageView?.adjustsImageWhenAncestorFocused = true 
     imageView?.clipsToBounds = false 
     super.layoutSubviews() 
    } 

    override func canBecomeFocused() -> Bool 
    { 
     return enabled && super.canBecomeFocused() 
    } 

}