0

ViewController には、ビューを制御する 2 つのビューがあり、ボタンで表示されます。ユーザーがボタン 1 をクリックすると、viewA が非表示になり、viewB が表示されます。ユーザーがボタン 2 をクリックすると、viewB が非表示になり、viewA が表示されます。しかし、removeFromSuperViewでviewAを削除した後、クリックして再度追加しても表示されません。

何が起きましたか ?

- (IBAction)btnViewB:(id)sender {
     NSLog(@"remove viewA");
     [viewA removeFromSuperview];
     [self.view addSubview:viewB];
}
- (IBAction)btnViewA:(id)sender {
     NSLog(@"remove viewB");
     [viewB removeFromSuperview];
     [self.view addSubview:viewA];
}

この問題は解決しましたが、 removeFromSuperView を使用すると機能しない理由を知りたいです

- (IBAction)btnViewB:(id)sender {
    viewA.hidden = YES;
    viewB.hidden = NO;
}
- (IBAction)btnViewA:(id)sender {
    viewA.hidden = NO;
    viewB.hidden = YES;
}
4

1 に答える 1