我会给你更新左键的代码片段。显然你可以在这里改变各种变量,所以以此为例。
-(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];
}
在可扩展性方面,我不是这方面的专家,但我已经编写了一些服务器驱动的应用程序,我认为每分钟请求一次服务器对给定服务器来说并不那么繁重,而且基本上是合理的。我每 10-15 秒请求一次服务器(准消息应用程序),这很好。我确实认为每分钟从服务器随机更新一个导航项可能不会带来最佳的用户体验,因为我可以想象不断变化的导航流程可能会让用户感到困惑。话虽如此,我不确定您的具体需求是什么,所以我无法进一步评论。