我想显示两个按钮,或者可以使用相同的TouchUpInSide方法在导航栏的左侧显示两个图像。 当我点击那两个按钮时,最左边的按钮应该向左变换更多,当我再次点击两个按钮时,最左边的按钮会回到原始位置。 或者另一种方式: 我可以在导航棒的左侧放置两个UIImageView,并放置一个背景清晰的按钮,然后给出事件。
那么可能吗?如何?
答案 0 :(得分:1)
如果您只想添加简单的UIButtons,可以使用以下方法。
1)创建多个UIButton对象
2)将所有这些按钮添加到UIView对象
3)创建UIBarButtonItem并将UIView作为自定义视图传递
代码如下:
// create the container view
UIView* viewContainer = [[UIView alloc] init];
// Create buttons and add it to the container view
UIButton* btnAdd = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnAdd setTitle:@"Add" forState:UIControlStateNormal];
[viewContainer addSubview:btnAdd];
UIButton* btnRefresh = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btnRefresh setTitle:@"Refresh" forState:UIControlStateNormal];
[viewContainer addSubview:btnRefresh];
// now create a Bar button item with custom view
UIBarButtonItem* barBtnItem = [[UIBarButtonItem alloc] initWithCustomView:viewContainer];
// Set the navigation bar's right button item
self.navigationItem.rightBarButtonItem = barBtnItem;
或者如果你想添加bar UIBarButtonItems,可以添加多个barbuttons作为Anbu.Karthik说。
以下是添加多个栏按钮项的代码。
// Create UIToolbar to add two buttons in the right
UIToolbar* toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 133, 44.01)];
// Create standard "add" button
UIBarButtonItem* btnAdd = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:NULL];
btnAdd.style = UIBarButtonItemStyleBordered;
// Create spacer
UIBarButtonItem* spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
// create standard "refresh" button
UIBarButtonItem* btnRefresh = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(btnRefresh_Clicked:)];
btnRefresh.style = UIBarButtonItemStyleBordered;
// stick the buttons in the UIToolbar
[toolBar setItems:@[btnAdd, spacer, btnRefresh] animated:NO];
// Put the toolbar in the UINavigationBar
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolBar];
希望这会对你有所帮助。 :)