2017-10-11 2 views
-1

나는 모든 쿠폰 (UIImage)이 나타나기 위해 고심하고있다. 예를 들어 3 권의 쿠폰이 있으며 코드를 실행하면 3 쿠폰의 이미지 만 표시됩니다. 어떻게 처음 2 개를 보여주지 않습니까? 미리 감사드립니다.프로그래밍 방식으로 여러 UIImageView를 추가하는 방법은 무엇입니까?

override func viewDidLoad() { 
    var i: Int = 0 
    super.viewDidLoad() 
    self.view.backgroundColor = UIColor.white 

    CouponsViewController.PopulateDataCoupons() 

    i=0 
    repeat { 
      let imageName = MyCoupons.siteCoupons[i]//"Coupons1.jpg" 
      let image = UIImage(named: imageName!) 
      let imageView = UIImageView(image: image!) 
      imageView.frame = CGRect(x: 50, y: 50, width: 350, height: 300) 
      view.addSubview(imageView) 
      i += 1 } 
    while (i < MyCoupons.count-1) 
} 
+1

그 이유는 그것들을 모두 서로의 위에 올려 놓기 때문입니다 (프레임을 살펴보십시오). 그래서 세 번째 프레임 만 보았습니다 (추가 된 마지막 프레임). 당신이해야 할 일은 정확히 어디에 세 개의 이미지가 화면에 나타나고 그에 따라 앞으로 나아가고 싶은지 다시 말하기입니다. – TNguyen

+0

실마리를 줄 수 있습니까? 나는 그들에게 하나씩 보여주기를 바란다. 어떻게해야합니까? 2 번째 프레임을위한 새로운 프레임을 설정한다는 것입니까? –

+0

편집 : UI의 관점에서 달성하려는 내용을 정확히 알지 못하기 때문에 반복하는 동안 각 이미지의 프레임 x 및 y를 변경하는 것 이외에 무엇을 해야할지 실마리를 줄 수는 없습니다. – TNguyen

답변

0

UIImageView 개체를 동일한 위치에 배치하고 있습니다.

imageView.frame = CGRect(x: 50, y: 50, width: 350, height: 300) 

이처럼 x 또는 y는 이미지의 각 하나를보고 각각의 반복 좌표를 변경해보십시오 :

let height = 350 
i = 0 
repeat { 
     let imageName = MyCoupons.siteCoupons[i]//"Coupons1.jpg" 
     let image = UIImage(named: imageName!) 
     let imageView = UIImageView(image: image!) 
     imageView.frame = CGRect(x: 50, y: i * height, width: 350, height: height) 
     view.addSubview(imageView) 
     i += 1 
} 
while (i < MyCoupons.count - 1) 

업데이트 :

으로 @이 라인 봐 Mick MacCallum은 지적합니다. UIImageView의 높이를 고려해야합니다. 위의 변경 사항을 참조하십시오.

+1

이미지보기가 여전히 이렇게 겹칠 것입니다. 업데이트 된 원점은 이미지 뷰의 크기를 고려해야합니다. –

+0

스크롤 방법은 어떻습니까? 내가 scrollview를 추가하여 제안했지만 그것은 작동하지 않았다. 이미 페이지 매김을 사용하도록 설정했습니다. –

관련 문제