0

申請者でスワイプできる一連のビューを作成しようとしています。

ビューに配列を設定しようとしましたが、配列の最初のビューをロードしてからビューにロードしました。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    self.title = @"Prototype";
    //Initalizse the swipe gestuer listener
    [self setupLeftSwipeGestureRecognizer];
    [self setupRightSwipeGestureRecognizer];

    //alloc and init viewcontroller nibs
    self.detailViewA = [[DetailViewController alloc]initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]]; 
    self.detailViewB = [[DetailViewControllerB alloc]initWithNibName:@"DetailViewControllerB" bundle:[NSBundle mainBundle]];
    self.detailViewC = [[DetailViewControllerC alloc]initWithNibName:@"DetailViewControllerC" bundle:[NSBundle mainBundle]];
    // Create Array
    viewArray = [NSArray arrayWithObjects:detailViewA_, detailViewB_, detailViewC_, nil];

    // set detail View as first view
    [self.view addSubview:[viewArray objectAtIndex:0]];

}

その後、クラッシュします。このメッセージを生成します。

2012-05-31 10:06:33.769 SMPrototypeB[2394:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DetailViewController superview]: unrecognized selector sent to instance 0x131b00'
4

1 に答える 1

3

ビューコントローラをサブビューとして追加していますが、実行する必要があるのは、そのviewControllerのビューを追加することです。

UIViewController *tempVC = (UIViewController*)[viewArray objectAtIndex:0];
[self.view addSubView:tempVC.view];
于 2012-05-30T22:10:48.820 に答える