2011-08-03 33 views
11

Tôi đẩy một bộ điều khiển xem vào một bộ điều khiển chuyển hướng như thế này:Tại sao self.navigationItem.backBarButtonItem luôn là nil?

[self.navigationController pushViewController:anotherViewController animated:YES]; 

Và, sau đó, bên trong anotherViewController tôi kiểm tra self.navigationItem.BackBarButtonItem và LeftBarButtonItem, nhưng chúng luôn luôn bằng không.

Tôi có thể thấy backBarButtonItem và dường như hoạt động tốt.

+0

Hãy chắc chắn rằng bạn chỉ cố gắng đọc 'backBarButtonItem' vv sau khi' viewDidAppear' .. trong 'viewWillAppear' /' viewDidLoad'/'init..' trình điều khiển điều hướng sẽ không thiết lập nút quay lại, vì chế độ xem chưa được đẩy hoàn toàn vào ngăn điều hướng. – darvids0n

Trả lời

5

Từ tài liệu: "Khi mục này là mục sau của thanh điều hướng — khi nó là mục tiếp theo bên dưới mục trên cùng — mục này có thể được biểu diễn dưới dạng nút quay lại trên thanh điều hướng. chỉ định nút quay lại. Mục tiêu và hành động của mục nút quay lại bạn đã đặt phải là 0. Giá trị mặc định là một mục nút thanh hiển thị tiêu đề của mục điều hướng. "

Tôi lấy điều này có nghĩa là ước tính luôn là nil và giá trị mặc định luôn là 0.

Một chủ đề tương tự về self.navigationItem.backBarButtonItem là con số không đã được thảo luận ở đây: Changing the UIBackButtonItem title

+0

Tôi nghĩ rằng đó là chính xác. Các backbarbuttonitem sẽ không được nil nếu tôi ngồi nó bằng tay. Tôi đã kiểm tra xem nút quay lại có tồn tại không, bởi vì nếu nó ở đó, tôi không muốn ghi đè lên bằng nút khác. Tôi đã kết thúc thử nghiệm chỉ mục đã chọn của thanh tab nếu tôi ở trình điều khiển chế độ xem nhiều hơn. – Michael

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