2009-01-25 34 views
6

Tôi mới vào lập trình iPhone và tôi đang cố gắng hiểu cách hoạt động của thuộc tính khung và giới hạn. Trong Trình tạo giao diện, tôi đã tạo UIView nơi tôi đặt UIImageView khi còn nhỏ. Tôi đã phóng to UIImageView lớn hơn chế độ xem gốc. và đặt thuộc tính 'clip subview' thành true cho UIView mẹ và thành false cho UIImageView con.
Khi tôi thay đổi frame.origin thuộc tính của trẻ UIImageView theo chương trình. nhưng khi tôi thay đổi bounds.origin tài sản của phụ huynh UIView Tôi không thấy gì cả. Có lẽ tôi hiểu sai mục đích của bounds.thay đổi giới hạn tài sản của UIView không ảnh hưởng đến nội dung của nó

Tôi nên làm gì để có được những hành vi được mô tả trong hướng dẫn lập trình ứng dụng iPhone:

Bạn có thể thay đổi nguồn gốc giới hạn mà không thay đổi hai thuộc tính khác. Khi bạn thực hiện, chế độ xem hiển thị phần của hình ảnh cơ bản mà bạn đã xác định. InFigure2-4 (trang 56), gốc giới hạn gốc được đặt thành (0.0.0.0). Trong hình 2-5, nguồn gốc đó được chuyển đến (8.0,24.0). Do đó, một phần khác của hình ảnh bên dưới được hiển thị bởi khung nhìn. Vì hình chữ nhật khung không thay đổi, tuy nhiên, nội dung mới được hiển thị ở cùng một vị trí bên trong chế độ xem gốc như trước đây.

Xin cảm ơn trước. Andrew

Trả lời

0

Trước hết, hãy đảm bảo bạn có tham chiếu chính xác cho chế độ xem hình ảnh trước khi bạn thử thay đổi giới hạn của hình ảnh đó. Kiểm tra xem nó không phải là nil.

Thứ hai, bạn có thể cần phải thay đổi các hình chữ nhật và sau đó đặt nó một lần nữa trong một tuyên bố riêng biệt, như thế này:

CGRect rect = imageView.bounds; 
rect.origin = CGPointMake(whatever, whatever); 
imageView.bounds = rect; 

Bounds có thể thậm chí không phải là những gì bạn muốn. Tôi không biết bạn có câu nói đó ở đâu, nhưng nó không có vẻ đúng. Hãy thử sử dụng khung hình của khung nhìn để định vị nó trong phần giám sát của nó.

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