我需要以编程方式创建UIToolbar
和UIBarButtonItem
。我正在使用Storyboard
进行布局。
现在如何通过按下以编程方式创建的工具栏按钮打开新视图? (我知道如何在界面生成器中创建按钮时使用Segue
,但我不能在这里使用此方法。)
答案 0 :(得分:1)
创建UIBarButtonItem
时,请确保设置目标和操作。然后在被调用的方法中,显示您的下一个视图控制器。
创建栏按钮项目。
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonItemStylePlain target: self action: @selector(presentVC:)];
呈现视图控制器。
-(void)presentVC:(id)sender
{
[self presentViewController: otherViewController animated: YES completion:^{
// COMPLETION BLOCK
}];
}
答案 1 :(得分:1)
首先,使用以下代码创建UIBarButtonItem
:
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonItemStylePlain target: self action: @selector(showNewView)];
然后,
-(void)showNewView
{
UIStoryboard *story =[UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
UIViewController *newViewController = [[postDetailViewControllerIphone alloc]init];
newViewController=[story instantiateViewControllerWithIdentifier:@"newView"];
[self presentViewController:newViewController animated:YES completion:nil];
}
此代码将允许barButtonItem打开新的视图控制器。
如果你还没有将barButtonItem添加到工具栏,那么在创建barButtonItem后执行此操作。
NSArray *toolBarItems = [[NSArray alloc] initWithObjects:barButtonItem,nil];
[self.toolBar setItems:bottomtoolBarItems];
这会将barButtonItem添加到工具栏中。