2011-07-21 43 views

Trả lời

8

thử này

self.navigationItem.leftBarButtonItem.enabled=NO; 

    self.navigationItem.backBarButtonItem.enabled=NO; 

Cập nhật:

Nó có vẻ là Apple không cho phép các nút quay lại để cho phép/vô hiệu hóa. Thay vào đó chúng ta có thể che giấu nó.

self.navigationItem.hidesBackButton = YES; 
+2

Tùy chọn đầu tiên của bạn giúp tôi tự.navigationController.navigationBar.userInteractionEnabled = NO; Cảm ơn rất nhiều...!!! – Jim

+3

Tôi không biết tại sao nhưng self.navigationItem.leftBarButtonItem.enabled = NO; self.navigationItem.backBarButtonItem.enabled = NO không hoạt động cho tôi – Jim

+0

Đặt 'navigationBar.userInteractionEnabled = NO' cũng sẽ vô hiệu hóa * rightBarButtonItem *. Tôi không nghĩ bạn muốn nó. – EmptyStack

0

Có, bạn có thể tắt nút đó, chỉ cần thiết lập thuộc tính của nút đó thành NO.

0

nên có thể vô hiệu hóa các nút:

backButton.enabled = NO; 
4
self.navigationItem.backBarButtonItem.enabled = NO; 
+0

Tính năng này không hoạt động với nút quay lại mặc định. – Zorayr

11

Bạn không thể vô hiệu hóa backBarButtonItem. Thiết lập bật thuộc tính của backBarButtonItem đến NO không thực sự vô hiệu hóa nó.

Dường như của Apple ngăn chặn những người khác ("chúng tôi") từ việc vô hiệu hóa backBarButtonItem, thậm chí nó bỏ qua các mục tiêu hành động thiết lập để backBarButtonItem.

+0

Đúng thế ... !!! – Jim

2

Nút hủy mặc định không thể tắt vì Apple không cho phép tính năng này.

2

Disable:

self.navigationItem.leftBarButtonItem.enabled = NO; 

Enable:

self.navigationItem.backBarButtonItem.enabled = YES; 
0

Apple không muốn bạn phải vô hiệu hóa nó, nhưng bạn có thể ẩn nó tất nhiên.

self.navigationItem.hidesBackButton = YES; 

Điều này đặc biệt hiệu quả nếu bạn có nút UIBarButtonItem tùy chỉnh làm nút.

Trong các ứng dụng chứng khoán, bạn sẽ nhận thấy các tính năng không áp dụng được ẩn hoàn toàn thay vì bị tắt.

1

này không làm việc với mặc định trở lại button.but nó có thể ẩn các mặc định trở lại nút [self.navigationItem setHidesBackButton:YES];

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