1

UIImageViewフォーカス可能にすることは可能ですか?または、UICollectionView考えられるすべてのビューに a を使用する必要がありますか?

オーバーライドしようとしましたがcanBecomeFocused、何も起こりませんでした。

4

2 に答える 2

1

私が見つけた最も簡単な方法は、UIImageView の代わりに UIButton をサブクラス化することでした (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()
   }

}
于 2016-01-13T02:06:44.097 に答える