Đây có thể là một câu hỏi ngu ngốc, nhưng có thể giữ quyền UIBarButtonItem
trên nhiều chế độ xem được quản lý bởi UINavigationController
không? Tôi có một số lượt xem thường chia sẻ cùng một quyền UIBarButtonItem
, nhưng khi tôi đẩy chế độ xem mới lên UINavigationController
, tôi phải xác định lại nút này mọi lúc, ngay cả khi nó không thay đổi. Chủ yếu, hoạt ảnh chuyển tiếp đáng chú ý từ chế độ xem này sang chế độ xem tiếp theo là điều làm tôi bực mình vì nút chính xác ngắn dần mờ dần sau đó quay lại, điều này không cần thiết vì không có thay đổi trực quan thực tế. Tôi có nên xem xét việc thêm một UIButton
làm chế độ xem phụ của UINavigationBar
và thực hiện hiệu ứng "nút thanh bên phải" theo cách này không?Thuộc tính liên tụcBarButtonItem Thuộc tính của UINavigationItem
Trả lời
Chúng tôi đã thực hiện việc này trong ứng dụng của mình. Chúng tôi tạo ra một UIBarButtonItem duy nhất mà chúng tôi trao đổi từ một UIViewController khác khi người dùng điều hướng. Bí quyết là sử dụng UINavigationControllerDelegate, phương thức navigationController: willShowViewController: animated:. Chúng tôi thiết lập rightBarButtonItem của UIViewController đi tới nil và rightBarButtonItem của bộ điều khiển đến nút của bạn. Đó là một nỗi đau để quản lý, nhưng nó hoạt động.
UIBarButtonItems có thể được tạo dưới dạng trường hợp độc lập trong tệp nib/xib. Nếu không có gì đặc biệt xảy ra khiến bạn không thể xây dựng nút trong Trình xây dựng giao diện, bạn nên kết nối nó với thuộc tính rightBarButtonItem của UINavigationItem cho mỗi bộ điều khiển xem cần tái sử dụng nút. Không cần c mục tiêu.
Xin chào Matt, Bạn có thể cụ thể hơn với ví dụ - Tôi tin rằng đây là việc triển khai trong mã mẫu NavBar.xcode, nhưng tôi đang gặp một số sự cố sau đó. (BTW - Tôi đã bình chọn cho câu trả lời của bạn vì tôi nghĩ nó vừa chính xác vừa là giải pháp thanh lịch hơn.) – mobibob
Tuyệt vời! Cảm ơn bạn. Tôi quên điều tra UINavigationControllerDelegate. – LucasTizma
Cảm ơn !! Đã làm cho tôi!! :) –
Xin chào, tôi làm cách nào để có bộ điều khiển UIView đi? có vẻ như tôi chỉ có thể nhận được cái sẽ được trình bày, nhưng không phải cái hiện tại? chúc mừng – zanona