0

我需要以编程方式创建UIToolbar和。UIBarButtonItem我正在使用Storyboard布局。现在如何通过按下以编程方式创建的工具栏按钮打开一个新视图?(我知道在 Interface Builder 中创建按钮时该怎么做,Segue但我不能在这里使用这种方法)。

4

2 回答 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 回答