2009-09-20 36 views
7

Trong nỗ lực tạo giải pháp cho việc căn giữa hình ảnh trong UIScrollView và làm cho ứng dụng Ảnh của Apple hoạt động, tôi cần có mức thu phóng hiện tại và sử dụng số để tính số lượng ảnh cần chụp tại mỗi lần thu phóng cấp độ.Làm cách nào để có được mức thu phóng hiện tại trong UIScrollView?

(Lưu ý: Tôi biết rằng một số lập trình viên đang căn giữa hình ảnh trong chế độ xem cuộn bằng cách căn giữa hình ảnh trong UIView có cùng kích thước với scrollview. Điều này không mang lại kết quả tốt và tôi đang cố gắng tìm hiểu cách thức apple làm cho nó hoạt động trong ứng dụng ảnh.)

Vì vậy, bất kỳ ai biết cách lấy mức thu phóng hiện tại của nội dung trong UIScrollView?

Trả lời

9

Trong OS 3.x, có một thuộc tính được gọi là "zoomScale" sẽ cung cấp cho bạn những gì bạn muốn. Trong 2.x, tôi tin rằng bạn có thể xem trực tiếp chuyển đổi của contentView để có được điều này (nhưng đó là, tất nhiên, không phải là 'chính thức'.)

+0

Tôi đang cố gắng: NSLog (@ "% d", myScrollView.zoomScale); trong phương thức scrollViewDidEndZooming của tôi, nhưng nó chỉ nhận được "0". Tôi làm gì sai ở đây? Tôi biết bạn có thể sử dụng zoomScale như một setter, nhưng cũng làm việc để có được quy mô zoom hiện tại? – Jonah

13

Đúng vậy. Tôi nghĩ bạn nên sử dụng phương thức này trong lớp scrollViewController của bạn.

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{ 
    NSLog(@"Zoomscale %f",scale); 
     NSLog(@"Zoom End!"); 
} 
Các vấn đề liên quan