0

たくさんのビューとサブビューを備えたアプリがあります。

アプリデリゲートでは、通知を受け取るたびにサブビューを開きます。私はたくさんのテストを行いました:-通知は常によく受信されます。-サブビューは常に適切に作成されており、ゼロになることはありません。

ただし、1、2回の通知の後、サブビューが存在し、メモリ内に適切に作成されている場合でも、サブビューは再び表示されません。

私はメモリに何か問題があると思います。おそらく、ビュー階層で何かを誤解しているでしょう。

サブビューを作成して追加するコードは次のとおりです。

AppDelegate.h

@property (retain, nonatomic) ViewControllerNewOrder *sub;

AppDelegate.m

sub = [[ViewControllerDriverNewOrder alloc] init];
sub = [mainStoryboard instantiateViewControllerWithIdentifier:@"ViewControllerNewOrder"];
sub.view.frame = self.initialViewController.view.bounds;
[self.initialViewController.view addSubview:sub.view];

お手数をおかけしますが、よろしくお願いいたします。

4

1 に答える 1

0

次の行は私の命を救った:

[self.window.rootViewController.view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

次に、削除する必要があるすべてのビューにメソッド removeFromSuperView を追加しました。もちろん、私のように、この線をどこに置くかを考える必要があります。

ありがとう ;)

于 2012-11-08T11:05:56.897 に答える