2009-05-20 31 views
21

Khi tôi cố gắng gửi chế độ xem về mặt sau, nó ẩn một số nút và nhãn trong bộ điều khiển chế độ xem của tôi. Chế độ xem tôi đang gửi ở mặt sau là UIImageView. Có ai có ý kiến ​​về những gì có thể là vấn đề?Gửi chế độ xem lại


Đây là mã tôi đang sử dụng:

UIImage *image = [UIImage imageNamed: @"background.jpg"]; 
UIImageView *backImage = [[UIImageView alloc] initWithImage: image]; 
[self.view addSubview: backImage]; 
[self.view sendSubviewToBack: backImage]; 

Sau đó, khi tôi đang bổ sung thêm các điều khiển để self.view, họ không luôn luôn hiển thị


tôi quản lý để có được nó roght bằng cách di chuyển mã của tôi từ init sang loadView. Tôi không hiểu tại sao điều đó lại tạo nên sự khác biệt, nhưng hey .. nó hoạt động!

+0

Bạn có thể đăng một số mã mẫu không? – pgb

+0

không hoàn toàn chắc chắn bởi ý của bạn là 'gửi về phía sau' –

Trả lời

17

Nếu bạn đang sử dụng UIView 's sendSubviewToBack: hoặc một thông báo tương tự, có thể bạn đã chèn các nút của mình vào phân cấp theo số UIImageView. Khi chế độ xem di chuyển trong cấu trúc phân cấp, tất cả các bản xem của nó sẽ di chuyển cùng với nó.

Để khắc phục điều này, bạn cần thêm các điều khiển của mình dưới dạng các bản xem trước của cùng một chế độ xem (có thể là UIWindow) ban đầu bạn đã thêm UIImageView.

Nếu không nhìn thấy mã của bạn, rất khó để chính xác hơn.

0

Đồng ý. Không hoàn toàn chắc chắn bởi những gì bạn có ý nghĩa bằng cách "gửi về phía sau" nhưng đây là một dự đoán ...

Nếu bạn đang điều chỉnh lớp trong chế độ xem chính của mình, hãy đảm bảo bạn không gửi chế độ xem "tới mặt sau" (thay đổi layer của nó) có số lượng subviews ... hoặc nếu không thì tất cả chúng sẽ quay trở lại (lớp của chúng sẽ thay đổi) cùng một lúc.

Nếu điều này hoàn toàn không phải là ý của bạn, hãy cho tôi biết và tôi sẽ xóa câu trả lời này.

1

Bằng cách không phải thêm nó theo chương trình và điều chỉnh chế độ xem, dễ dàng hơn để xếp lớp mỗi người trong trình tạo giao diện. Đảm bảo chế độ xem hình ảnh, nếu điều này được đặt làm nền, đảm bảo đó là hình ảnh đầu tiên được liệt kê.

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