objective-c - 从 View 中获取按钮等对象。 iOS

标签 objective-c ios ipad view

我在我的 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/

相关文章:

iphone - 添加到 NSDictionary 条目到 NSMutableDictionary

ipad - 是否可以强制忽略:hover pseudoclass for iPhone/iPad users?

objective-c - 本地化核心数据名称

iphone - 如何在 Xcode 中将 UIView 拖到 Canvas 上

ios - iOS从Crashlytics迁移到FirebaseCrashlytics

ios - 无法在 Swift 中从 Facebook iOS SDK 捕获城市和国家/地区值

ios - 尝试制作简单的 UIImageVIew 动画

iphone - 报亭应用程序需要推送通知吗?

iphone - 无法修复 Open AL 中的严重内存泄漏

ios - 为什么看不到按钮?