3

UIViewController の既存のビューを新しいビューに変更したい。新しいビューには、古いビューと小さなバナー ビューが含まれています。

この非常に単純な変更を行うと、私には暗い見方が残ります。

私のコードは次のようになります

UIView *existingView = self.view;
UIView *newView = [[UIView alloc] initWithFrame:existingView.frame];
UIView *bannerView = [[UIView alloc] initWithFrame:CGRectMake(0, (self.view.frame.size.height - 50), 320, 50)];

CGRect existingViewFrame = existingView.frame;
existingViewFrame.size.height -= 50;
existingView.frame = existingViewFrame;

[newView addSubview:existingView];
[newView addSubview:bannerView];

self.view = newView;

ただし、タブを切り替えて変更したビューに戻ると、希望どおりにビューが表示されます。コントローラーに(新しい)ビューを再描画するように指示するには、フラグまたは何かを設定する必要があると思います。

編集

この問題の簡単な例を書きました。GitHub で見つけることができます: https://github.com/Oemera/ChangeView

4

1 に答える 1

0

あなたはこれをどこで行うかを言いませんでした。元のビューのスーパー ビューを保存してから、新しいビューをそのビューの subViews 配列に追加する必要がある場合があります。それが問題だと思います。

于 2012-09-16T12:31:39.493 に答える