Tôi có một UIScrollView bên trong một UIViewController (được phân lớp bởi ImageViewController). Bản thân ViewController là một phần của ngăn xếp của NavigationController. Bây giờ, ngoài việc có một thanh điều hướng, tôi muốn ScrollView để có tất cả các phòng có sẵn trên màn hình. UIImageView bên trong scrollview sau đó sẽ điền vào các phòng có sẵn của xem di chuyển. Bạn có thể thấy trạng thái hiện tại ở cuối bài đăng này.UiScrollview với hình ảnh lồng nhau trông lạ
class ImageViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet weak var scrollView: UIScrollView!
var imageView: UIImageView?
var image: UIImage?
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
if let image = image {
imageView = UIImageView(image: image)
if let imageView = imageView {
imageView.frame = CGRect(origin: CGPoint(x: 0, y: 0), size: image.size)
scrollView.addSubview(imageView)
scrollView.contentSize = image.size
let scaleHeight = scrollView.frame.size.height/scrollView.contentSize.height
let scaleWidth = scrollView.frame.size.width/scrollView.contentSize.width
let minimumScale:CGFloat = min(scaleHeight, scaleWidth)
let maximumScale:CGFloat = max(scaleHeight, scaleWidth)
scrollView.minimumZoomScale = minimumScale
scrollView.maximumZoomScale = maximumScale
scrollView.zoomScale = maximumScale
}
}
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return imageView
}
}
Mã này để lại cho tôi biên giới không cần thiết (trái, phải, trên cùng). Làm cách nào để loại bỏ chúng?
EDIT: Với @ đề nghị Bxtr và another stackoverflow thread tôi đã có thể loại bỏ các biên giới trái và phải để xem di chuyển. Sau khi tìm hiểu thêm, tôi phát hiện ra rằng bằng cách hủy kích hoạt Adjust Scroll View Insets, hình ảnh bên trong chế độ xem cuộn có thể được định vị chính xác theo chiều dọc. Tuy nhiên, tôi không có lý do cho việc đặt sai vị trí thẳng đứng ở vị trí đầu tiên ...
Bạn đã đúng về lề trái và phải! Liên quan đến vấn đề dọc, tôi vừa cập nhật bài đăng (vấn đề được giải quyết, nhưng tôi không hiểu tại sao). Nếu bạn có thêm thông tin chi tiết, tôi sẽ vui mừng khi đến đây về họ. – Bastian
tôi sẽ làm một số nghiên cứu thêm về nó khi tôi sẽ trở lại từ hollydays, nhưng tôi vui vì tôi đã giúp bạn! – Bxtr