在 iOS 中按下按钮时打开另一个视图
Posted
技术标签:
【中文标题】在 iOS 中按下按钮时打开另一个视图【英文标题】:Open another view when button is pressed in iOS 【发布时间】:2011-06-28 16:35:32 【问题描述】:我是 ios 开发的新手,我想在当前视图中按下按钮时加载另一个视图。
我创建了一个基于视图的应用程序,代码如下:
//我的文件名为poo1
//这是poo1ViewController.h文件
#import <UIKit/UIKit.h>
@interface poo1ViewController : UIViewController
IBOutlet UIButton *fl;
@property (nonatomic,retain) UIButton *fl;
-(IBAction) ifl:(id)sender;
@end
//这是poo1ViewController.m文件
#import "poo1ViewController.h"
@implementation poo1ViewController
@synthesize fl;
-(IBAction) ifl:(id) sender
在poo1ViewController.xib
中,我添加了一个按钮,并使用 Interface Builder 将其与 File's Owner 相关联。
现在我为这个类添加了另一个视图,称为flip.xib
,并在其中添加了一个标签。
我想要的是,当我按下 fl
按钮时,fl
按钮将调用方法 ifl
并且作为回报应该调用第二个视图,即 flip.xib
。
我该怎么做,如何让ifl
方法加载flip.xib
视图?
【问题讨论】:
【参考方案1】:UIViewController* flipViewController = [[UIViewController alloc] initWithNibName:@"flip.xib" bundle:[NSBundle mainBundle]];
[self.view addSubview:flipViewController.view];
编辑:
UIViewController* flipViewController = [[UIViewController alloc] initWithNibName:@"flip" bundle:[NSBundle mainBundle]];
[self.view addSubview:flipViewController.view];
现在点击flip.xib,点击设计区域左侧的File's Owner,将类更改为UIViewController。现在 CTRL 从 File's Owner 图标拖动到其正下方的 View 图标,然后选择 IBOutlet View。
【讨论】:
当我单击按钮时程序终止并显示错误“线程 1:程序收到信号:“SIGBART”。做,我需要在我的实现文件中导入该 Flip.xib 它应该已经在主包中,只要你没有用它做一些疯狂的事情。确保您的 self.view 被正确创建。您实际上必须将 self.view 设置为等于视图,然后才能调用 [self.view addSubview:] 我已经把项目文件夹上传到这里了:cl.ly/7zua请检查一下,你能指出错误 即使在编辑后,应用程序也会崩溃 2011-06-28 23:14:12.205 poo1[1461:207] *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:'-[UIViewController _loadViewFromNibNamed:bundle:] 加载了“翻转”笔尖,但未设置视图出口。 *** 首次抛出时调用堆栈: 对,你必须确保 XIB 文件附加到 UIViewController 的视图,否则这是你的箭头,所以我在编辑中说你必须控制从文件所有者图标拖动到视图图标左侧的 Interface Builder 并选择 View IBOutlet。以上是关于在 iOS 中按下按钮时打开另一个视图的主要内容,如果未能解决你的问题,请参考以下文章
swift 3 在tableView 中按下了哪个单元格按钮
如何知道 youtube 视频何时开始播放以及何时在 ios 的 web 视图中按下 mpmovieplayer 的完成按钮