当选择UITableView中的项目时,会加载一个详细视图,顶部有一个横幅栏,上面有一个后退按钮,可以导航回到表格。
如何将其他按钮添加到该横幅栏?
答案 0 :(得分:5)
正如安德鲁所说,您可以向导航栏添加自定义视图。例如,如果您要在导航栏的右侧添加多个按钮,则可以执行以下操作:
// right side of nav bar
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 106, 44)];
NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:3];
UIBarButtonItem *deleteButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemTrash
target:self
action:@selector(deleteAction:)];
deleteButton.style = UIBarButtonItemStyleBordered;
[buttons addObject:deleteButton];
[deleteButton release];
UIBarButtonItem *spacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil
action:nil];
[buttons addObject:spacer];
[spacer release];
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
target:self
action:@selector(cancelAction:)];
cancelButton.style = UIBarButtonItemStylePlain;
[buttons addObject:cancelButton];
[cancelButton release];
[toolbar setItems:buttons animated:NO];
toolbar.barStyle = -1;
[buttons release];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar];
[toolbar release];
如果需要更多或更宽的按钮,请确保调整宽度(上面的106),然后为选择器提供方法(deleteAction:和cancelAction:上面)。
答案 1 :(得分:2)
根据您的描述,听起来您正确设置了UINavigationController。您正在描述的“横幅栏”被恰当地称为导航栏。
在详细信息视图中,您可以使用:
UIBarButtonItem* button = [[[UIBarButtonItem alloc] initWithTitle:"HiMom" style:UIBarButtonItemStylePlain target:self action:@selector(onHiMom:)] autorelease];
self.navigationItem.rightBarButtonItem = button;
您还可以添加自定义视图(而不是按钮)以及一些其他设置。我建议您浏览UINavigationItem,UINavigationBar和UIBarButtonItem的文档。