1

在我使用第二个 XIB 后,我正试图将其更改回主 XIB。这是我正在使用的当前代码:

NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"Results1" owner:self options:nil];
    UIView *aView = [nibObjs objectAtIndex:0];
    self.view = aView;

我在第二个 xib 上有一个返回原始 xib 的按钮。当我按下按钮时,应用程序崩溃了。我不知道为什么,因为它没有显示错误 - 它只是崩溃。这是第二个 xib 或“Results1” xib 文件上按钮上的代码:

-(IBAction)Button100:(id)sender
{
NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"main" owner:self options:nil];
UIView *aView = [nibObjs objectAtIndex:0];
self.view = aView;
}

不知道我做错了什么。

4

2 回答 2

0

问题是我需要关闭自动引用计数。

于 2012-08-14T16:07:20.497 回答
0

改为添加为子视图,因此您可以“弹出”Results1 视图:

// in your .h
@property (strong) UIView *aView;

// replace your provided code with this
NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"Results1" owner:self options:nil];
self.aView = [nibObjs objectAtIndex:0];
[self.view addSubview:self.aView];

- (IBAction)Button100:(id)sender
{
    [self.aView removeFromSuperview];
    self.aView = nil;
}

只是一个建议——如果你想让它们“交换”,考虑使用transitionFromView:toView:duration:options:completion:UIView 中的类方法。

于 2012-08-10T00:46:03.470 回答