2010-10-28 27 views
19

về cơ bản tôi muốn biết liệu bộ điều khiển xem có nằm trong bộ điều khiển chế độ xem gốc hay không.Làm thế nào để tìm hiểu xem một UIViewController là bộ điều khiển xem gốc?

Nếu không, tôi muốn đặt nút trong thanh điều hướng có nội dung "quay lại" (như thể đó là nút quay lại thích hợp - bit này tôi biết cách thực hiện).

Trước khi bạn hỏi, tôi đã xóa tất cả tiêu đề khỏi bộ điều khiển chế độ xem của mình - Tôi không muốn chúng hiển thị trên thanh điều hướng của tôi ... nó rất phức tạp - nhưng điều này có nghĩa là khi tôi đi qua ngăn điều hướng của mình không có bộ điều khiển xem được đẩy nào có nút quay lại. :/

Cảm ơn Tom

+1

Bạn có thể đạt được điều đó bằng cách chỉ thiết lập thuộc tính của navigationItem của mỗi bộ điều khiển xem backBarButtonItem. Trình điều khiển điều hướng sẽ sử dụng điều đó thay cho tiêu đề và quản lý điều hướng cho bạn. –

+0

oh phải .... có cách nào để làm điều đó cho mỗi nút quay lại đơn trong ứng dụng không? Ví dụ với một số loại mã hoặc một cái gì đó? –

+0

Nếu bạn có nhiều lớp điều khiển xem nhưng bạn muốn các mục sau giống nhau, bạn có thể tạo một phụ huynh chung cho các bộ điều khiển đó và đặt mục trong init đó. –

Trả lời

61
if (self != [self.navigationController.viewControllers objectAtIndex:0]) 
{ 
    // Put Back button in navigation bar 
} 
+0

rực rỡ. :) cảm ơn bạn. –

+0

Tuyệt vời! cảm ơn bạn;) –

7

Bạn cũng có thể thử:

if (self.navigationController.viewControllers.count == 1) { 
    NSLog(@"self is RootViewController"); 
} 
+1

Tuyệt vời, cảm ơn – AamirR

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