将xib和ViewController复制到新项目后,我的应用程序不会在触摸事件上绘制和崩溃

时间:2011-11-21 13:29:45

标签: ios xcode xib

我已经将一些文件从一个非常小的(和工作)项目复制到一个更大的Xcode项目。 特别是我复制了一个xib文件(只有一个UIView子类元素),UIView子类和ViewController。 只要用户触摸屏幕,较小的项目就会绘制彩色背景并绘制圆圈。

我已经调整了较大项目的代码,以便在开始时加载xib文件。我已将此添加到AppDelegate,以便它加载新的xib而不是旧的xib。 (有关详细信息,请参见编辑#1)

即使调用了drawRect(我已经测试过添加NSLog)也没有显示[*]。此外,如果我点击模拟iPhone的屏幕,应用程序崩溃。

int retVal = UIApplicationMain(argc, argv, nil, nil);
Program received signal EXC_BAD_ACCESS

我不确定问题出在哪里所以请告诉我我可以发布的内容。 我有Xcode 4,我正在使用iOS 5。

感谢您的帮助。我希望这个问题不太天真。

编辑#1 : 这是我的xib,带有一个类列表。我正在尝试编辑Jabber Client that I have found here插入我自己的视图的源代码。 我无法发布图片,但这是链接

http://i.stack.imgur.com/gDsNb.png

CircleDrawer类处理触摸和绘制圆圈。 MTViewController类正在发送测试消息。 JabberClientAppDelegate类(与下载的代码基本相同)连接到服务器并对用户进行身份验证。我改变的是这种方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[MTViewController alloc] initWithNibName:@"MTViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];

return YES;

/*
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];

return YES;*/

}

编辑#2:编辑#2: 我是从头开始的。 我正在尝试重建应用程序,但我遇到了崩溃。我已经开始了另一个讨论,因为它与这个问题没有直接关系。 EXC_BAD_ACCESS right after touchesBegan

[*]:如果我模拟按下主页按钮一瞬间我可以看到背景颜色(当然我没有看到任何其他因为模拟器返回跳板)。

1 个答案:

答案 0 :(得分:0)

检查您的MainWindow.xib。

  1. 在窗口下方添加appDelegate对象(在xib中)。
  2. 将appDelegate对象的class属性设置为您自己的appdelegate类。
  3. 然后你的窗口对象应该连接到appdelegate对象的窗口属性。
  4. 现在在codebase中创建viewController类的对象,并将子视图添加到窗口。
  5. 希望这些步骤可以让您对代码有所了解。

    我猜你一定已经遵循了所有这些步骤。