UIScrollView 아래 화면에 일정한 너비의 UIImageView가 있습니다. iphone 5s에서는 잘 작동하지만 아이폰 7 또는 8에서는 이미지의 너비가 너비보다 작습니다. 화면 크기는 스크린 샷에서 공유됩니다. 여기 UIScrollview의 UIImageView가 맨 위 화면에 맞지 않습니다.
내 코드입니다 : 여기let x = CGFloat(selectedEvent.album?.count ?? 0)
pageControl.numberOfPages = (selectedEvent.album?.count ?? 0)
for index in 0..<(selectedEvent.album?.count ?? 0) {
frame.origin.x = scroll.frame.size.width * CGFloat(index)
frame.size = scroll.frame.size
print(self.frame.size.width)
print(scroll.frame.size.width)
print(frame.size.width)
let image = UIImageView(frame: frame)
image.contentMode = .scaleToFill
print(image.frame.size.width)
if (selectedEvent.album?.count ?? 0) > 0 {
selectedEvent.getAlbumImage(key: selectedEvent.album![index], completion: { (gotImage:UIImage) in
image.image = gotImage
})
} else {
image.image = UIImage(named: "defaultImage.jpg")
}
scroll .addSubview(image)
}
self.scroll.contentSize = CGSize(width: scroll.frame.size.width * x, height: scroll.frame.size.height)
pageControl.addTarget(self, action: #selector(self.changePage(sender:)), for: UIControlEvents.valueChanged)
가 인쇄 로그인 반바지에
320.0
320.0
320.0
320.0
320.0
320.0
320.0
320.0
사용자가 scrollview 너비가 아닌 경우 [UIScreen mainScreen] .bounds.size.width;를 사용하십시오. ViewWillAppear 또는 ViewDidAppear에서 프레임을 계산합니다. – Kuldeep
다음을 확인하십시오 : https://stackoverflow.com/questions/39021503/custom-view-self-frame-is-not-correct – Amit
동일한 문제가 발생하여'layoutSubviews','setNeedsLayout' 및' layoutIfNeeded'입니다. 일하지 않았어. 그런 다음 가로 스크롤이있는'collectionView'로 scrollview를 제거했습니다. – Amit