[UIView]를 반복하면서 프레임을 설정 한 다음 하위 뷰로 UIScrollView에 추가합니다. 코드에서 나는 내가 테스트 목적을 위해 서로 의견을 구별 할 수있는 임의의 배경 색상을 지정하고 :for 루프 내의 UIView에 CGRect를 할당하고 할당합니다.
for i in 0...questionViews.count - 1 {
let hue: CGFloat = CGFloat(arc4random() % 256)/256
let saturation: CGFloat = CGFloat(arc4random() % 128)/256 + 0.5
let brightness: CGFloat = CGFloat(arc4random() % 128)/256 + 0.5
questionViews[i].backgroundColor = UIColor(hue: hue, saturation: saturation, brightness: brightness, alpha: 1)
questionViews[i].frame = CGRect(x: screen.width * CGFloat(i), y: 0, width: screen.width, height: screen.height)
questionsScrollView!.addSubview(questionViews[i])
}
을하지만,이를 통해 내가 루프와 그들을 인쇄하는 경우 :
for i in 0...questionViews.count - 1 {
print(questionViews[i].frame)
}
결과를
(3000.0, 0.0, 375.0, 667.0)
(3000.0, 0.0, 375.0, 667.0)
(3000.0, 0.0, 375.0, 667.0)
(3000.0, 0.0, 375.0, 667.0)
(3000.0, 0.0, 375.0, 667.0)
(3000.0, 0.0, 375.0, 667.0)
(3000.0, 0.0, 375.0, 667.0)
(3000.0, 0.0, 375.0, 667.0)
(3000.0, 0.0, 375.0, 667.0)
왜 모든 CGRect는 for 루프에서 x의 최종 값을 갖습니까?
편집 :
questionViews
배열 우선 단지 빈 CGRects
으로 초기화 설정된다 :
questionViews = [UIView](count: numberOfQuestions, repeatedValue: UIView(frame: CGRect()))
와
당신이 questionViews' 배열을' –
@SamM를 만드는 방법을 기재 해주십시오 업데이트 : – KamaKAzii