1

2番目のXIBを使用した後、メインのxibに戻ろうとしています。これは私が使用している現在のコードです:

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

2番目のxibに、元のxibに戻るボタンがあります。ボタンを押すと、アプリがクラッシュします。エラーが表示されないため、理由はわかりません。クラッシュするだけです。2番目の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

代わりにサブビューとして追加してください。そうすれば、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 に答える
0

問題は、自動参照カウントをオフにする必要があることです。

于 2012-08-14T16:07:20.497 に答える