ebe*_*eth 3 view viewcontroller ios
我有一个拆分视图应用程序,在详细信息视图中有一个按钮,单击该按钮将使用户进入所选图像的全屏视图.
我知道我需要一个新的nib文件和视图控制器,但我不知道如何将这些新文件与我现有的RootViewController和DetailViewController文件连接起来.
我知道这真的很模糊,但任何帮助都会非常感激.
只要您移动到单个视图(如在另一个拆分视图中),您应该只需要一个视图控制器.如果我理解你在做什么,那么进展应该是这样的:
在DetailViewController.h中声明新视图控制器的特定实例,在本例中称为newViewController,并在DetailViewController.m中合成它.
@interface DetailedViewController
{
NewViewController *newViewController;
}
@property (nonatomic, retain) NewViewController *newViewController;
@end
Run Code Online (Sandbox Code Playgroud)将您的IBAction添加到DetailViewController的头文件中,这将是负责实际触发视图切换的函数
在DetailViewController.m文件中实现视图切换操作,应该如下所示:
(IBAction)switchToNewView:(id)sender
{
if (newViewController == nil)
{
NewViewController *newViewController =
[[NewViewController alloc]
initWithNibName:@"NewViewController"
bundle:[NSBundle mainBundle]];
self.newViewController = newViewController;
}
// How you reference your navigation controller will
// probably be a little different
[self.navigationController
pushViewController:self.newViewController
animated:YES];
}
Run Code Online (Sandbox Code Playgroud)然后在viewDidLoad函数里面的DetailViewController.m文件中添加以下内容:
UIBarButtonItem *addButton =
[[UIBarButtonItem alloc]
initWithBarButtonSystemItem: UIBarButtonSystemItemAdd
target:self action:@selector(switchToNewView:)];
self.navigationItem.rightBarButtonItem = addButton;
[addButton release];
Run Code Online (Sandbox Code Playgroud)如果您选择通过UIButton实现此选项,则另外一个选项是在NewViewController.xib上的Interface Builder中创建按钮,然后选择它,并在Connections检查器中,在"touchUpInside"事件之间创建一个链接和文件所有者,然后选择您的switchToNewView IBAction.这应该完成同样的事情.
这是一般的想法.我希望有所帮助!
编辑:如评论中所述,如果将一个按钮添加为UIBarButton作为导航控制器的一部分,您只需要执行以下操作:
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(switchToNewView:)];
self.navigationItem.rightBarButtonItem = addButton;
[addButton release];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18157 次 |
| 最近记录: |