2011-07-25 4 views
5

Tôi muốn sử dụng phương pháp addSubview để thêm chế độ xem mới trên màn hình của mình. Tuy nhiên, chế độ xem mới cũng phải bao gồm thanh điều hướng, v.v. có nghĩa là nó sẽ bao gồm toàn bộ màn hình. Tôi nên làm gì?Xcode Thêm Subview trên toàn bộ màn hình trên mọi thứ

Bất cứ khi nào tôi cố gắng thêmSubview, nó luôn hiển thị chế độ xem mới trong thanh điều hướng.

Tôi không muốn sử dụng pushViewController hoặc presentModelViewController vì chế độ xem được thêm mới sẽ thấp và tôi có thể thấy nền nhưng tôi không muốn tương tác với các đối tượng nền như bảng nút thanh, v.v. Xin lỗi vì tiếng anh, tôi hy vọng , tôi đã nói rõ vấn đề là gì.

Trả lời

16

Chỉ cần đặt thuộc tính frame của chế độ xem bạn thêm trước đây và đặt nó với giới hạn màn hình.

[myView setFrame:[[UIScreen mainScreen] bounds]; 
[self.navigationController.view addSubview:myView]; 

Nếu bạn muốn vô hiệu hóa sự tương tác với thanh điều hướng:

[self.navigationController.navigationBar setUserInteractionEnabled:NO]; 
+1

không hoạt động, vẫn chưa bao gồm thanh điều hướng. toàn bộ màn hình trừ thanh điều hướng và thanh trạng thái – Nacrug

+0

ai là người nhận 'addSubview:' trong quá trình triển khai của bạn? –

+0

Ah lỗi của tôi tôi đã cố gắng để thêm subview trên self.view. nó giải quyết vấn đề của tôi. Tuy nhiên, chế độ xem mới vẫn còn mới bao gồm thanh điều hướng, nó tương tác với nút thanh điều hướng. Có cơ hội để cắt giảm tương tác hay tôi nên vô hiệu hóa lập trình tất cả các nút, bảng vv bất cứ khi nào tôi thêm subview – Nacrug

1

Bạn có thể có một cái nhìn tại thêm UIWindow khác trên cửa sổ thư mục gốc của bạn.

0

khi tôi đã cố gắng làm navigationController.view addSubview, nó sẽ không bao gồm thanh tab của tôi vì vậy tôi đã làm như sau với cửa sổ đại biểu ứng dụng của tôi:

[self.window addSubview:myView]; 

nếu bạn cần truy cập vào appdelegate của bạn từ một lớp khác , bạn chỉ cần nhập ủy nhiệm ứng dụng của bạn và gọi nó từ đó.