我不确定我在这里缺少什么。我有一个习惯UINavigationController
,我正在尝试向UIBarButtonItem
酒吧添加一个持久性。
-(void)viewDidLoad { self.navigationBar.barStyle = UIBarStyleBlack; UIBarButtonItem *bbi = [[UIBarButtonItem alloc] initWithTitle:@"Nope..." 样式:UIBarButtonItemStyleBordered 目标:自己 动作:@selector(goBack:)]; self.navigationItem.leftBarButtonItem =bbi; [bbi 发布]; } -(void)goBack:(id)sender { NSLog(@"现在回去"); }
我在这里想念什么?- 顺便说一句,我不想/不会使用 IB。
更新:目前这是我能得到的最接近的:
-(void)viewDidLoad { self.navigationBar.barStyle = UIBarStyleBlack; UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 20, 320, 44)]; navBar.barStyle = UIBarStyleBlack; UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@"正在播放..."]; [navBar pushNavigationItem:navItem 动画:NO]; UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:@selector(goBack:)]; navItem.rightBarButtonItem = 编辑按钮; [self.view addSubview:navBar]; [编辑按钮释放]; [导航项发布]; [导航栏发布]; [超级视图DidLoad]; }
太糟糕了,我必须将整个导航栏添加到UINavigationController
已经有导航栏的地方......如果我尝试使用现有的,我会收到此错误:
'NSInternalInconsistencyException',原因:'无法调用 pushNavigationItem:animated:直接在控制器管理的 UINavigationBar 上。'
....真的???