UITableView部分绘图不正确/ EXC_Bad_Access当滚动屏幕

问题描述:

所以我不明白为什么这个非常简单的UITableView部分绘图不正确,其次当我试图从屏幕上滚动这个吸盘它会引发随机错误,有时bad_access和其他如此突出的绿色错误。UITableView部分绘图不正确/ EXC_Bad_Access当滚动屏幕

这是设备上发生了什么的图片,下面是我在appDelegate中首先使用的代码创建tableview单元格的代码。由于

在的appDelegate

SignUp *signup = [[SignUp alloc] initWithNibName:@"SignUp" bundle:nil]; 
signup.view.frame = self.window.frame; 

[self.window addSubview:signup.view]; 
[self.window makeKeyAndVisible]; 

要创建的TableView

static NSString *CellIdentifier = @"EditableCell"; 

    EditableCell *editableCell = (EditableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (editableCell == nil) { 

     editableCell = [[EditableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 

    UITextField *cellTextField = [editableCell textFieldCell]; 

    cellTextField.keyboardType = UIKeyboardTypeDefault; 
    cellTextField.delegate = self; 


    return editableCell; 

的错误:enter image description here

你创建你的视图控制器,但从来没有举行到它上面与任何东西。只要您的didFinishLaunchingWithOptions方法退出,您将失去视图控制器并遇到内存问题。保持视图控制器视图不保留在视图控制器上。除了直接添加视图到窗口使用的:

self.window.rootViewController = signup; 

这都将采取视图的所有权,并应设置它的框架,使您不必手动进行。您当前将框架设置为窗口的同一框架,并将其放在状态栏下方。

+0

你,先生,是一个真正的朋友。非常感谢。不过,如果您不介意,我还有其他一个问题:此视图旨在为应用程序临时注册/登录视图。一旦这个人注册,我想关闭这个视图,并在不同的导航控制器中显示我的下一个视图堆栈。我会在哪里添加代码来做到这一点?它会在SignUp中引用appDelegate吗?再次,非常感谢。 – Apollo

+0

没问题。如果这个视图只是暂时的,我个人的偏好是将您的根视图控制器设置为您提到的永久导航堆栈,然后以模态方式呈现注册视图控制器。然后,当用户完成时,他们会获得一个很好的动画,从屏幕底部滑出来揭示应用程序。 – sc0rp10n

+0

是的,这是有道理的。好吧,你一直很有帮助,再次感谢! – Apollo