9

Tôi có một tải UINavigationController trong tab đầu tiên của một UITabBarController. Tôi muốn thêm một nút làm mới ở bên phải của UINavigationItem. Sự hiểu biết mờ ảo của tôi là người ta phải đặt các thuộc tính như tiêu đề và nút trên bộ điều hướng nav trước khi được thêm vào hệ thống phân cấp điều khiển. Tôi không gặp vấn đề gì khi thêm các nút vào bộ điều khiển điều hướng con, nhưng tôi bị stumped bằng cách thay đổi root, vì nó đang tải từ ngòi ngách.Thêm một UIBarButtonItem làm mới vào một UINavigationController được tải từ một NIB

Vì vậy, trong màn hình IB dưới đây (oops, không đủ điểm danh tiếng, hãy để tôi cố gắng sơ đồ này ....), tôi đang cố gắng thêm một nút làm mới cho mục đã chọn.

  • Chủ
  • Đầu tiên Responder
  • App Đại biểu
  • Window
  • điều khiển Tab Bar
    • Tab Bar
    • Observation Danh sách View Controller file của
      • Navig ation Bar
      • View Controller
        • bảng Xem
        • Navigation mục
      • Tab Bar mục
    • Một Danh sách View Controller
    • , vv
    • , vv

Tôi đã cố gắng để thêm nút trong viewDidLoad bộ điều khiển nav của, không có sự giúp đỡ:

- (void)viewDidLoad { 
[super viewDidLoad]; 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
     initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh 
     target:self 
      action:@selector(refresh:)]; 
} 

Tôi cũng đã cố gắng để lập trình thêm ObservationListViewController của tôi vào UITabBarController, và chèn vào nút trong khối đó, nhưng tôi đã thoát ra khỏi chiều sâu của mình.

Bất kỳ ý tưởng nào về cách tôi có thể thêm nút vào quá trình tải trình điều khiển điều hướng từ ngòi bút?

Cảm ơn bạn!

Trả lời

21

Dường như phương thức viewDidLoad của bạn đang phân bổ nhưng không phát hành mục nút thanh. bạn nên làm điều này:

UIBarButtonItem *button = [[UIBarButtonItem alloc] 
    initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh 
    target:self 
     action:@selector(refresh:)]; 
self.navigationItem.rightBarButtonItem = button; 
[button release]; 

Bạn cần làm điều này không có trong bộ điều khiển điều hướng, nhưng trong bộ điều khiển chế độ xem gốc nằm trong bộ điều khiển điều hướng. Nói cách khác, hãy đặt nó trong "Xem bộ điều khiển" không phải "Bộ điều khiển xem danh sách quan sát"

Mỗi bộ điều khiển bạn đẩy lên bộ điều hướng có thể tự điều khiển.navigationItem.whall và điều này sẽ được bộ điều hướng điều hướng hiển thị khi bộ điều khiển mới được đẩy lên ngăn xếp của nó.

+1

Nimrod, bạn đá! Một lời giải thích thậm chí tôi có thể làm theo! – Scott

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