

storyboardにてUIimageViewを２つ設定し、それぞれ同じ画像を設定しています。  
そこにtagでそれぞれ1,2を設定しています。

[code]

    @IBOutlet weak var iv2: UIImageView!
    
    @IBOutlet weak var iv: UIImageView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        var img = UIImage(named:"paint 2.png")
        iv.image = img
        iv2.image = img
    }
    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
            var touch = touches.anyObject() as UITouch
            println(touch.view.tag)
            switch(touch.view.tag){
            case 1:
                break
            case 2:
                break
            default:
                break
            }
        }
    
[/code]

現在の結果としてはUIImageViewがtapされたら1,2がLOGに出力され、それ以外を押したら０が出力されます。

行いたいこととしては、UIImageVIewをタップしたときに次の画面に遷移し、そのタップされた画像の大きい画像を出したいです。  
詳細画面のようなものです。  
お願いします。


CC BY-SA 3.0
2015-01-30T02:41:11.787
5595
2015-01-31T05:31:16.163
2015-01-31T05:31:16.163
5832
7645
question
swift storyboard
SwiftにてUIImageViewをTap検知後、詳細画面に遷移したい


手法はいくつかありますが、[UIGestureRecognizer](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIGestureRecognizer_Class/index.html#//apple_ref/occ/cl/UIGestureRecognizer),[UITapGestureRecognizer](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITapGestureRecognizer_Class/index.html)を利用するパターンを検討してみてください。

[code]

    override func viewDidLoad() {
        super.viewDidLoad()
        let img = UIImage(named:"paint 2.png")
        iv.image = img
        iv2.image = img
    
        let gesture = UITapGestureRecognizer(target:self, action "didClickImageView:")
        iv.addGestureRecognizer(gesture)
        iv2.addGestureRecognizer(gesture)
    }
    
    func didClickImageView(recognizer: UIGestureRecognizer) {
        if let imageView = recognizer.view as? UIImageView {
            let image = imageView.image
            let nextViewController = /** 次のUIViewControllerのインスタンス */
            nextViewController.image = iamge
            /** netViewController への遷移 */
        }
    }
    
[/code]


CC BY-SA 3.0
2015-01-30T04:03:44.030
5603
2015-01-30T04:03:44.030
7949
5595
answer