Cách thêm nút vào UINavigationBar theo chương trình?Cách thêm nút vào UINavigationBar?
Trả lời
Mã mẫu để đặt rightbutton
trên NavigationBar
.
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleDone target:nil action:nil];
UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@"Title"];
item.rightBarButtonItem = rightButton;
item.hidesBackButton = YES;
[bar pushNavigationItem:item animated:NO];
Nhưng thông thường bạn sẽ có một NavigationController
, cho phép bạn viết:
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.rightBarButtonItem = rightButton;
Những câu trả lời trên là tốt, nhưng tôi muốn xác thịt chúng ra với một vài mẹo khác:
Nếu bạn muốn sửa đổi tiêu đề của nút quay lại (mũi tên trông y ở bên trái thanh điều hướng), bạn PHẢI làm điều đó trong bộ điều khiển xem PREVIOUS, không phải là nút mà nó sẽ hiển thị. Nó giống như nói "hey, nếu bạn bao giờ đẩy một bộ điều khiển xem trên đầu này, hãy gọi nút quay lại" Back "(hoặc bất cứ điều gì) thay vì mặc định."
Nếu bạn muốn ẩn nút quay lại trong trạng thái đặc biệt, chẳng hạn như khi UIPickerView được hiển thị, hãy sử dụng self.navigationItem.hidesBackButton = YES;
và nhớ đặt lại khi bạn rời khỏi trạng thái đặc biệt.
Nếu bạn muốn hiển thị một trong các nút biểu tượng đặc biệt, sử dụng mẫu initWithBarButtonSystemItem:target:action
với một giá trị như UIBarButtonSystemItemAdd
Hãy nhớ rằng, ý nghĩa của biểu tượng đó là tùy thuộc vào bạn, nhưng hãy cẩn thận của Hướng dẫn Human Interface. Sử dụng UIBarButtonSystemItemThêm vào việc xóa một mục có thể sẽ khiến ứng dụng của bạn bị từ chối.
Thêm nút tùy chỉnh vào thanh điều hướng (với hình ảnh cho buttonItem và chỉ định phương thức hành động (void) openView {} và).
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 32, 32);
[button setImage:[UIImage imageNamed:@"settings_b.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(openView) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *barButton=[[UIBarButtonItem alloc] init];
[barButton setCustomView:button];
self.navigationItem.rightBarButtonItem=barButton;
[button release];
[barButton release];
Ví dụ bên dưới sẽ hiển thị nút có tiêu đề "Liên hệ" trên thanh điều hướng ở bên phải. Hành động của nó gọi một phương thức có tên là "contact" từ viewcontroller. Nếu không có dòng này, nút bên phải sẽ không hiển thị.
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Contact"
style:UIBarButtonItemStylePlain target:self action:@selector(contact:)];;
Tại sao không sử dụng sau đây: (từ Draw custom Back button on iPhone Navigation Bar)
// Add left
UINavigationItem *previousItem = [[UINavigationItem alloc] initWithTitle:@"Back title"];
UINavigationItem *currentItem = [[UINavigationItem alloc] initWithTitle:@"Main Title"];
[self.navigationController.navigationBar setItems:[NSArray arrayWithObjects:previousItem, currentItem, nil] animated:YES];
// set the delegate to self
[self.navigationController.navigationBar setDelegate:self];
Trong Swift 2, bạn sẽ làm gì:
let rightButton: UIBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Done, target: nil, action: nil)
self.navigationItem.rightBarButtonItem = rightButton
nhanh chóng 3
0.123.let cancelBarButton = UIBarButtonItem(title: "Cancel", style: .done, target: self, action: #selector(cancelPressed(_:)))
cancelBarButton.setTitleTextAttributes([NSFontAttributeName : UIFont.cancelBarButtonFont(),
NSForegroundColorAttributeName : UIColor.white], for: .normal)
self.navigationItem.leftBarButtonItem = cancelBarButton
func cancelPressed(_ sender: UIBarButtonItem) {
self.dismiss(animated: true, completion: nil)
}
- 1. Cách thêm UIPickerView tùy chỉnh vào UINavigationBar?
- 2. Thêm Lời nhắc vào UINavigationBar Lập trình
- 3. Thêm nút khác bên cạnh nút "quay lại" ở bên trái của UINavigationBar
- 4. UINavigationBar với các nút làm tiêu đề.
- 5. Cách thay đổi văn bản nút quay lại uinavigationbar
- 6. Cách thêm nút vào UIActionSheet hiện có?
- 7. SimpleXML cách thêm con vào một nút?
- 8. Cách thêm nút vào Visual Studio Intellisense
- 9. Cách thêm lớp css vào nút z3c.form
- 10. Thêm nút vào MediaController
- 11. Cách thay đổi màu chữ trên các mục nút UINavigationBar
- 12. Cách ẩn bàn phím sau khi nhấn vào nút quay lại UINavigationBar trên ios
- 13. Làm cách nào để thêm UIImage vào trung tâm của UINavigationBar?
- 14. khoảng cách rightBarButtonMặt hàng trong UINavigationBar
- 15. Cách tạo bóng thả UINavigationBar
- 16. Thêm nút vào thanh điều hướng theo chương trình
- 17. Thêm nút vào lưới trong ExtJs
- 18. Thêm nút vào một Winforms DataGridView
- 19. iPhone: UINavigationBar bằng các nút - điều chỉnh chiều cao
- 20. Thêm nút hủy vào bàn phím UITextField
- 21. Thêm nút đóng vào UIModalPresentationPageSheet góc
- 22. Cách thêm cờ nút --harmony vào lệnh grunt-express
- 23. Cách thêm div khi nhấp vào nút trong jquery?
- 24. Cách thêm nút tùy chỉnh vào QMessageBox trong PyQt4
- 25. Cách nhanh nhất để thêm nút mới vào cuối xml?
- 26. Cách thêm nút Thích Facebook vào ứng dụng Flex?
- 27. Cách thêm nút MvcSitemapProvider mới vào thời gian chạy
- 28. cách thêm nút văn bản vào thanh tác vụ
- 29. Cách thêm nút vào ngữ cảnh "submit_row" trong django
- 30. Cách thêm nút kết nối sql thử nghiệm vào Wix
tôi nhận được một cảnh báo trên phong cách: tham số -> cảnh báo: Semantic Vấn đề: chuyển đổi ngầm từ kiểu enumeration 'UIBarButtonSystemItem' để kiểu enumeration khác nhau 'UIBarButtonItemStyle' – pojo
này cần được initWithBarButtonSystemItem: UIBarButtonSystemItemDone để tránh các cảnh báo. – JordanC
Trong ví dụ này, tôi không hiểu "thanh" đến từ đâu. Thuộc tính thanh trên cùng mặc định cho UINavigationItem là gì? – aneuryzm