【问题标题】:UIBarButtonItem not showing in iOS 4.0UIBarButtonItem 未在 iOS 4.0 中显示
【发布时间】:2012-06-15 16:41:34
【问题描述】:

在 iOS 5.0 中一切都很好,但是当我在 iOS 4.0 中运行我的代码时,导航栏按钮的背景图像以及导航中的标题没有显示出来。

这是我正在使用的代码:

// check for version 5.0 support
navController  = [[[UINavigationController alloc] initWithRootViewController:self.viewController] autorelease];
UINavigationBar *navigationBar = [navController navigationBar];
if ([navController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
    UIImage *image = [UIImage imageNamed:@"Nav_Bar.png"];
    [navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
}

else
{
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"Nav_Bar.png"]];
    [self.navController.navigationBar addSubview:imageView];
}

然后在viewDidLoad:

self.title = @"MyTitle";

self.leftBTN=  [UIButton buttonWithType:UIButtonTypeCustom];
[leftBTN setImage:[UIImage imageNamed:@"BTN1.png"] forState:UIControlStateNormal];
[leftBTN setTitle:@"Edit" forState:UIControlStateNormal];
[leftBTN addTarget:self action:@selector(editOption) forControlEvents:UIControlEventTouchUpInside];
[leftBTN setFrame:CGRectMake(0, 0, 60, 30)];
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:leftBTN] autorelease];

谁能解释一下,为什么导航控制器中没有显示图像和标题。 此外,如果我点击那个框架,按钮的动作是有效的,唯一的问题是按钮没有显示。

【问题讨论】:

  • 不,它不是那样来的。

标签: iphone uibarbuttonitem


【解决方案1】:

这是 iOS 4 的问题。当视图添加到导航栏时,子视图没有正确处理。它在 iOS 5 中得到解决。

看到这个link

它有一个示例项目,在 iOS 4 和 iOS 5 的导航栏中都以背景图像运行。

【讨论】:

    猜你喜欢
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多