私は UISegmentedController を持っています 写真、フレーム、ギャラリーのような 3 つの UIViewControllers を持っています。「addSubView」を使用して、Superview にこれら 3 つのビューを追加します。フレーム ビューでは、EditView という名前のサブビューを追加しました。EditView でいくつかの変更を行いました。これらの変更をフレーム ビューで更新したいと考えています。しかし、フレーム ビューから EditView を削除すると、単一のメソッドが呼び出されません。次に、スーパービューのサブビューからの変更を更新する方法。ツリー: UISegmentedController -> Frames(Su) -> EditViews(Subview)。誰でも私を助けることができます..
3685 次
3 に答える
5
サブビューからスーパービューで何かを更新するコードを見つけました。サブビューでこのコードを使用してください。スーパービューの viewWillAppear メソッドを呼び出します。viewWillAppear の代わりに別の方法を使用できます。わたしにはできる。
for (UIView* next = [self.view superview]; next; next = next.superview)
{
UIResponder* nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]])
{
[(UIViewController*)nextResponder viewWillAppear:YES];
}
}
-ユバ・M
于 2011-06-14T04:41:14.323 に答える
2
のプロパティをUIView
使用して、任意のスーパー ビューにアクセスできます。superview
UIView
以下のステートメントは、EditView
.
FrameView* mySuperFrameView = (FrameView*)self.superview;
次のステートメントは、スーパー ビュー関数を呼び出している可能性があります。
[mySuperFrameView updateMySuperView];
updateMySuperViewは、superview
.
于 2011-06-10T05:37:55.487 に答える
0
スーパービューからビューを削除すると、ビューが解放されます。
スーパービューから editView を削除する前に、変更を送信してください。removeFromSuperview
editView を上書きして、呼び出す前にデータ操作を行うことができますsuper removeFromSuperview
。
または、View Controller が editView からデータを取得してから削除することもできます。
于 2011-06-10T05:40:03.953 に答える