我一直在努力研究这个(承认的简单)应用程序。它是一个标签式应用程序,但由于某些原因,当我点击其他标签时它会崩溃。
日志中没有崩溃异常或原因,所有显示的内容都是线程1:程序接收信号“SIGARBT”。
我开始使用Interface Builder但是厌倦了它并删除了文件并使用了loadView,但是尽管清理了项目,我仍然得到了错误。 FirstViewController使用完全相同的代码并且工作正常。
#import "SecondViewController.h"
@implementation SecondViewController
-(void)loadView
{
[self setView:[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]];
[[self view] setBackgroundColor:[UIColor blackColor]];
textField = [UITextField alloc];
[textField setEnablesReturnKeyAutomatically:YES];
[textField setKeyboardType:UIKeyboardTypeDefault];
[textField setSpellCheckingType:UITextSpellCheckingTypeNo];
[textField setFrame:CGRectMake(20, 30, 280, 40)];
[[self view] addSubview:textField];
setContextButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[setContextButton setTitle:@"Set" forState:UIControlStateNormal];
[setContextButton setFrame:CGRectMake(80, 30, 60, 40)];
[[self view] addSubview:setContextButton];
}
答案 0 :(得分:0)
我认为第textField = [UITextField alloc];
行不完整。您需要在alloc'd textField上调用 init 方法之一。
假设您的SecondViewController.h已定义UITextField *textField
,请尝试:
textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 30, 280, 40)];
如果您没有定义textField (可能会导致其他问题,具体取决于代码的其余部分),请尝试:
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 30, 280, 40)];