dia*_*olo 5 cocoa-touch uinavigationbar uikit uinavigationcontroller ios
我通过通知使用以下功能在我的UINavigationBar上加载一个右键,即使我可以找出按钮并验证它已分配,但它没有显示......任何想法?
编辑2011年4月6日,下午2:42
所以,有趣的东西......宽度总是报告为0.0 ...
- (void)showRightBarButton:(id)sender
{
NSLog(@"Showing button");
UIBarButtonItem *button = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(showPI:)];
[button setTitle:@"This Button"];
self.navigationItem.rightBarButtonItem = button;
//[[self.navigationItem rightBarButtonItem] setWidth:50];
NSLog(@"Button width is %f.", self.navigationItem.rightBarButtonItem.width);
[button release];
}
Run Code Online (Sandbox Code Playgroud)
[self.view setNeedsDisplay];
Run Code Online (Sandbox Code Playgroud)
你说得对。不需要那条线。就代码的其余部分而言,我不明白它有什么问题。到目前为止,我唯一想到的是 self 不是当前显示的视图控制器,或者您缺少导航控制器。也许您自己创建了自己的UINavigationBar导航控制器而不是使用导航控制器?
无论如何,为了更轻松地调试,我建议如下:
- (void)showRightBarButton:(id)sender
{
NSLog(@"Showing button");
UIBarButtonItem *button = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(showPI:)];
self.navigationItem.rightBarButtonItem = button;
[button release];
}
Run Code Online (Sandbox Code Playgroud)
编辑:宽度并不有趣。除非您自己指定,否则它始终为 0.0。
问题是您将按钮添加到了错误的位置。您不应该将按钮添加到导航控制器的导航项,而是添加到导航控制器当前显示的控制器的导航项。
| 归档时间: |
|
| 查看次数: |
4617 次 |
| 最近记录: |