1

iPad アプリケーションに UIModalPresentationFormSheet を実装しました。新しいビューはサブ ビューを部分的にカバーし、ユーザーが選択できるようにします。ただし、これはすべてうまく機能します...

ユーザーがオプションを選択すると、基になるビューを新しい詳細で更新したいのですが、機能しません!

setNeedsDisplay または [table reloadData]; を使用してみました。viewDidAppear メソッドと viewWillAppear メソッドの両方で。

コードのためのいくつかのコード:

- (void)viewWillAppear:(BOOL)animated {
    [self updateUserDetails];
    [self.myTableView reloadData];
}

- (void)viewDidAppear:(BOOL)animated {
    [self updateUserDetails];   
    [self.myTableView reloadData];
}

- (void)updateUserDetails {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:selection forKey:@"userDetail"];
}

私のトランジションは以下の通りです。この行がコメントアウトされている場合、アプリケーションは期待どおりに機能します。

myNavigationController.modalPresentationStyle = UIModalPresentationFormSheet;

どんな助けでも感謝します、ありがとう!

4

2 に答える 2

0

UIを設定 self.view.autolayoutSubviews = NO; すると、UIModalPresentationFormSheetのビューのサイズが変更されます。これにより、リロードプロセスが中断される可能性があります。

于 2013-03-01T03:54:03.727 に答える
0

viewWillAppearofではなく、ユーザーの選択を検出するコードの近くにデータのリロードを配置する必要があると思いますviewDidAppear

于 2013-11-04T09:20:39.263 に答える