2017-11-23 23 views
0

가로 uistackview가 있고 이미지 뷰가 5 개 있습니다. 나는 도청 된 이미지 뷰의 ID를 얻을 필요가있다. 탭 제스처 식별자를 추가하고 보낸 사람의 ID를 얻으려고했으나받지 못했습니다. 기본적으로 내가 속도 기능을 구현하기 위해 노력하고stackview에서 이미지 뷰의 태그를 얻는 방법

@IBOutlet weak var userRateViewStar1ImageOutlet   : UIImageView! 

@IBOutlet weak var userRateViewStar2ImageOutlet   : UIImageView! 

@IBOutlet weak var userRateViewStar3ImageOutlet   : UIImageView! 

@IBOutlet weak var userRateViewStar4ImageOutlet   : UIImageView! 

@IBOutlet weak var userRateViewStar5ImageOutlet   : UIImageView! 

@IBOutlet weak var userRateViewTextAreaOutlet   : UITextView! 

@IBOutlet var starOutletCollectionOutlet    : [UIImageView]! 


@IBAction func starRatingAction(_ sender: UITapGestureRecognizer) 
{ 
    var tag = sender.view!.tag 

    print(tag) 

} 

을 다음과 같이 내가 지금까지 시도 무엇

이다.

누군가 내가 이것을 구현할 수있는 방법을 제안 할 수 있습니까? 사전

+0

뷰 (들)이 첨부 된 UITapGestureRecognizer? –

+0

@AndreaMugnaini 5 개의 이미지보기에 붙어 있습니다 –

+0

인쇄 (태그)는 무엇입니까? –

답변

0

에서

덕분에 쉬운 방법은 예를 들어 IBOutletCollection 만들 수 있습니다 :

//1. Create An Array Of Your ImageViews 
@IBOutlet var ratingStarImageViews: [UIImageView]! 

그런 다음 그들에게 태그와 제스처를 할당을 예 :

//2. Assign Tags To The Them 

    var tag = 0 

    for view in ratingStarImageViews{ 

     let ratingGesture = UITapGestureRecognizer(target: self, action: #selector(starRatingAction(_:))) 
     view.addGestureRecognizer(ratingGesture) 
     view.tag = tag 
     tag += 1 
    } 

는 희망이 도움이 .