我在我的 cover.h 文件中为第一次查看创建了一个按钮
#import <UIKit/UIKit.h>
@interface cover : UIViewController
{
IBOutlet UIButton *Enter;
}
@property (nonatomic, retain) UIButton *Enter;
-(IBAction)buttonpressed:(id)sender;
@end
并通过在小框中选择“文件所有者”将其与界面构建器中的实际按钮连接起来,您可以选择“文件所有者”、“第一响应者”和“ View ”
然后我去cover.m文件添加了下面的代码
-(IBAction)buttonpressed:(id)sender
{
[[NSBundle mainBundle] loadNibNamed:@"nextView" owner:self options:nil];
NSLog(@"pressed");
}
所以当我转到 nextView.xib 并修改 nextView.m 和 nextView.h 并访问其按钮并执行与 cover.xib cover.m 和 cover.h 相同的操作时,它无法正常工作.
发生的事情是,当我在封面 View 中单击输入按钮时,它关闭了应用程序。这不会发生,直到我将按钮连接到功能和 socket (意思是当它只是切换 View 而第二个 View 没有做任何事情时它会起作用)
感谢您提供的任何帮助。抱歉,如果我没有提供足够的信息,这有点新,但是为了找到更多我应该拥有的信息,我会添加它。
谢谢
编辑 1:
我没有注意到它说有错误或类似的任何地方。它构建正确
最佳答案
- 类名大写是惯例。我建议使用
CoverViewController
。这使得在阅读您的代码时我们正在查看的内容更加明显。
你的意图是什么?要在内容的 nib 之后显示 nib?
每个 nib 的“文件所有者”都是 CoverViewController
吗?
您实际上所做的是(灾难性地)重新加载现有 Controller 的 View 。这不会有好结果。
你要做的是创建同一个类的另一个实例:
-(IBAction)buttonpressed:(id)sender {
CoverViewController nextController = [[CoverViewController alloc] initWithNibName:@"nextView"];
[navigationController pushViewController:nextController animated:NO];
}
如果您没有使用导航 Controller ,您可能想要使用。 阅读 View Controller Programming Guide .
关于objective-c - 从 View 中获取按钮等对象。 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6946983/