左ボタンを更新するためのコード スニペットを提供します。明らかに、ここでさまざまな変数を変更できるので、これを例として取り上げます。
-(void) configureLeftBarButtonItem
{
UIButton * leftButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 11.5, 15)];
[leftButton setBackgroundImage:[UIImage imageNamed:@"backarrow.png"] forState:UIControlStateNormal];
[leftButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
// you can obviously do any image name and any selector and any view, button is just a classic example
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithCustomView:leftButton];
// this is so that the button is not right up against the side
UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:nil action:nil];
negativeSpacer.width = 10;
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItems = [NSArray
arrayWithObjects:negativeSpacer, leftButtonItem, nil];
}
スケーラビリティに関しては、私はこの分野の専門家ではありませんが、サーバー駆動型のアプリケーションをいくつか作成しており、1 分に 1 回サーバーを要求することは、特定のサーバーにそれほど負担をかけず、基本的に合理的だと思います。10 ~ 15 秒ごとにサーバーを要求しましたが (準メッセージング アプリ)、問題ありませんでした。常に変化するナビゲーション フローがユーザーを混乱させる可能性があるため、サーバーから毎分ランダムにナビゲーション アイテムを更新しても、最高のユーザー エクスペリエンスは得られないと思います。そうは言っても、あなたの特定のニーズが何であるかはわかりませんので、これ以上コメントすることはできません.