如何切换 ios 导航栏中的额外按钮?
How can I toggle extra buttons in the navigation bar for ios?
我目前的导航栏有点笨重。在下图中,搜索按钮显示了一个搜索栏,其中还显示了一个取消按钮。我想在这里做的是有一个按钮可以滑动 in/displays 当前的右栏按钮项目。
搜索按钮完全在情节提要中创建,但由于情节提要中的栏项限制,类别按钮是使用我在情节提要中设置的 segue 标识符以编程方式添加的。首先,我们有与按钮相对应的代码,然后是屏幕截图。请记住,这是针对右侧栏按钮项目的。
按钮初始化
self.categoryButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Categories", @"categories button") style:UIBarButtonItemStylePlain target:self action:@selector(categoryButtonDidPress:)];
self.navigationItem.rightBarButtonItems =[self.navigationItem.rightBarButtonItems arrayByAddingObject:self.categoryButtonItem];
按钮的委托方法
-(void) categoryButtonDidPress:(UIBarButtonItem *)sender {
[self performSegueWithIdentifier:@"categorySegueTable" sender:nil];
}
- (IBAction)searchButtonPressed:(id)sender {
self.navigationItem.titleView = self.searchBarTable;
self.searchBarTable.showsCancelButton = NO;
if (self.searchBarTable.hidden == YES) {
self.searchBarTable.hidden = NO;
}
}
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{
[self.searchBarTable resignFirstResponder];
self.searchBarTable.hidden = YES;
}
-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
self.searchBarTable.showsCancelButton = YES;
}
与其在右侧添加两个按钮,您可能会发现在右侧添加一个 segmentedController
和 2 个段(按钮)会更容易,它会减少 space 并使其成为更易于管理。此外,您可能希望用图标替换类别一词以帮助压缩右侧。
我目前的导航栏有点笨重。在下图中,搜索按钮显示了一个搜索栏,其中还显示了一个取消按钮。我想在这里做的是有一个按钮可以滑动 in/displays 当前的右栏按钮项目。
搜索按钮完全在情节提要中创建,但由于情节提要中的栏项限制,类别按钮是使用我在情节提要中设置的 segue 标识符以编程方式添加的。首先,我们有与按钮相对应的代码,然后是屏幕截图。请记住,这是针对右侧栏按钮项目的。
按钮初始化self.categoryButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Categories", @"categories button") style:UIBarButtonItemStylePlain target:self action:@selector(categoryButtonDidPress:)];
self.navigationItem.rightBarButtonItems =[self.navigationItem.rightBarButtonItems arrayByAddingObject:self.categoryButtonItem];
按钮的委托方法
-(void) categoryButtonDidPress:(UIBarButtonItem *)sender {
[self performSegueWithIdentifier:@"categorySegueTable" sender:nil];
}
- (IBAction)searchButtonPressed:(id)sender {
self.navigationItem.titleView = self.searchBarTable;
self.searchBarTable.showsCancelButton = NO;
if (self.searchBarTable.hidden == YES) {
self.searchBarTable.hidden = NO;
}
}
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{
[self.searchBarTable resignFirstResponder];
self.searchBarTable.hidden = YES;
}
-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
self.searchBarTable.showsCancelButton = YES;
}
与其在右侧添加两个按钮,您可能会发现在右侧添加一个 segmentedController
和 2 个段(按钮)会更容易,它会减少 space 并使其成为更易于管理。此外,您可能希望用图标替换类别一词以帮助压缩右侧。