Swift UIImageViewサブビュークリックを受け入れる


UIImageViewはデフォルトではユーザー応答を受け入れず、彼のサブビューもユーザー応答を受け入れられません.
テストしてみましょう
        let imgV3=UIImageView(image: UIImage(named: "test0"))
        imgV3.frame=CGRectMake(20, 100, 100, 100)
        self.view .addSubview(imgV3)
        
        let btn=UIButton(frame: CGRectMake(10, 30, 80, 36))
        btn.setTitle(" ", forState: UIControlState.Normal)
        btn.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)
        btn.addTarget(self, action: "testAct", forControlEvents: UIControlEvents.TouchDown)
        imgV3.addSubview(btn)

道理でbtnを設定しました.addTargetクリックすると対応するメソッド:testAct
    func testAct(){
        println("asdfasdf")
    }

クリックしても効果がないことがわかりました
一言追加すればいい
        imgV3.userInteractionEnabled=true

完全なコードは次のとおりです.
    override func viewDidLoad() {
        super.viewDidLoad()

        
        let imgV3=UIImageView(image: UIImage(named: "test0"))
        imgV3.frame=CGRectMake(20, 100, 100, 100)
        self.view .addSubview(imgV3)
        
        let btn=UIButton(frame: CGRectMake(10, 30, 80, 36))
        btn.setTitle(" ", forState: UIControlState.Normal)
        btn.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)
        btn.addTarget(self, action: "testAct", forControlEvents: UIControlEvents.TouchDown)
        imgV3.addSubview(btn)
        
        imgV3.userInteractionEnabled=true
        
    }
    func testAct(){
        println("asdfasdf")
    }

はい.効果を試してみましょう
アップル開発グループ:414319235歓迎討論問題へようこそ