2013-01-14 35 views
5

Tôi đang cố gắng tạo trình xem hình ảnh hoạt động chính xác như Apples Photo App. Nhưng bây giờ tôi chỉ quan tâm đến một hành vi hình ảnh duy nhất.UIScrollView với UIImageView xoay vòng giữa khi thu phóng?

Tôi đã đặt UIImageView bên trong UIScrollView và quản lý để xử lý khá nhiều thứ bên cạnh một thứ và đó là nếu tôi phóng to một phần ảnh (ví dụ như ảnh chân dung) và sau đó xoay thiết bị ở chế độ ngang phần dường như được xoay qua góc trên bên trái thay vì trung tâm.

Hãy để tôi cố gắng minh họa điều đó. Đây là những gì tôi có bây giờ:

What I have

Đây là những gì tôi muốn xảy ra:

What I want

Về cơ bản tôi tin rằng tôi biết làm thế nào tôi có thể làm điều đó nhưng có vẻ như liên quan đến một bit mã hóa nhiều hơn nó có thể xứng đáng. Có lẽ tôi đang thiếu một số tài sản đơn giản mà tôi chỉ có thể thiết lập để có được hành vi mong muốn này.

Bất kỳ gợi ý nào, bất kỳ ai?

+1

Bạn đã thử đặt điểm trung tâm thành điểm giữa của chế độ xem khi xoay? Nó cũng giống như một vấn đề anchoring với tôi. Đảm bảo 'UIImageView' được neo vào đầu * VÀ * phía dưới. Hy vọng rằng Giúp! – msgambel

+0

Tôi đã không nhận thức được tài sản trung tâm sẽ thử nó ngay bây giờ. Mặt khác, tôi không thể tìm ra cách tôi sẽ neo UIImageView Tôi chỉ thấy rằng lớp UIImageView có thuộc tính anchorPoint là CGPoint, nhưng tôi không chắc bạn có ý đó không? –

+0

Tôi định neo nó vào ngòi. – msgambel

Trả lời

0
self.imageView.center = self.scrollView.center; 
+0

Bạn sẽ đặt cái này ở đâu? Tôi đã thử ở cuối layoutSubviews nhưng nó hoạt động lúng túng và chỉ OK nếu người dùng phóng to ở trung tâm đã chết (vì layoutSubviews được gọi trên mọi thay đổi mức thu phóng, vì vậy nó thực sự làm gián đoạn người dùng thậm chí có thể thu phóng bất cứ nơi nào khác). Có lẽ không phải là nơi thích hợp để gọi nó ... Ngoài ra có lẽ imageView.center không nên được thiết lập để trung tâm scrollView nhưng trung tâm khu vực zoom? ... Chưa thử một trong đó ... Bất cứ đề nghị? –

+0

scrollViewDidFinishingZooming có thể? Ngoài ra có bạn có thể muốn tập trung vào vùng được phóng to. –

+0

đã dùng thử. Đã không làm việc vì một lý do nào đó ... Nó có vẻ giống như một nơi hợp lý để đặt nó. Tôi không biết tại sao nó không hoạt động ... –

0

làm set [imgView setContentMode: UIViewContentModeScaleAspectFit];

Các vấn đề liên quan