我需要以编程方式创建UIToolbar
和。UIBarButtonItem
我正在使用Storyboard
布局。现在如何通过按下以编程方式创建的工具栏按钮打开一个新视图?(我知道在 Interface Builder 中创建按钮时该怎么做,Segue
但我不能在这里使用这种方法)。
问问题
967 次
2 回答
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 添加到工具栏。
于 2013-05-23T05:27:36.457 回答
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
}];
}
于 2013-05-22T22:35:22.360 回答