1

現在、以下を使用しても問題はありません。

-(IBAction)products:(id)sender {
    products = [[Products alloc] initWithNibName:@"Products" bundle:nil];
    [self.view addSubview:products.view];
}

このアクションをボタンに関連付けて、ビューを変更しました。ビューが正しくスタックされているので、これは正しくないと思いますか?これが原因でアプリケーションがクラッシュしますか?IBActionを介してビューを切り替えるための適切なサンプルコードを知っていますか?

4

2 に答える 2

4

スーパービュー全体をカバーするサブビューを追加する場合は、新しいサブビューを追加する前に、既存のサブビューを削除することを検討してください。これを行うには、ビューにタグを付けてから削除します。

ビューを追加するときに、タグを割り当てます-

products.view.tag = 1; //any number you want
[self.view addSubview:products.view];

古いビューを削除するには、それをフェッチして削除します-

UIView* subview = [self.view viewWithTag:1]; //Use the same number
[subview removeFromSuperview];
//now add a new view

HTH、

アクシャイ

于 2011-08-22T06:38:16.757 に答える
0

複数のビューを追加すると、アプリケーションの速度は低下しますが、クラッシュすることはありません。

スーパービューからすべてのビューを削除して、すべての問題を解決できます

それがうまくいくことを願っています。

于 2011-08-22T05:34:36.193 に答える