使用后退按钮样式创建UIBarButtonItem

时间:2013-01-30 13:40:11

标签: ios uinavigationcontroller uinavigationbar uibarbuttonitem uinavigationitem

我正在寻找一种以编程方式创建UIBarButtonItem的方法,该UINavigationBar看起来像UINavigationController的后退按钮。 显然,只有在按下{{1}}后才会显示后退按钮。

enter image description here

所以我只能插入一个“取消”样式的按钮。但我的目标是创建一个具有“New Item”风格的按钮。

想法?

4 个答案:

答案 0 :(得分:3)

简短的回答是你不能这样做。

您可以保存图像,然后将图像放到该位置,但后退按钮由UINavigationBar的私有部分管理。

答案 1 :(得分:1)

我认为你需要使用图像。然后将图像设置为按钮backgroundImage。如:

navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
UINavigationItem *navigationItem = [[[UINavigationItem alloc] initWithTitle:@"Detail"] autorelease];

        UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 70, 30)];

    [button setImage:[UIImage imageNamed:@"plain.png"] forState:UIControlStateNormal];
    [button addTarget:self action:@selector(buttonClicked:)
        forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc]
                               initWithCustomView:button];

    navigationItem.leftBarButtonItem = buttonItem;

    [buttonItem release];
    [button release];
[navigationBar pushNavigationItem:navigationItem animated:NO];
[self.view addSubview:navigationBar];

答案 2 :(得分:0)

看看这个答案:Creating a left-arrow button (like UINavigationBar's "back" style) on a UIToolbar

它为您提供了一个psd文件,其中包含您需要的图像。

答案 3 :(得分:0)

对我有用: [self.navigationItem.leftBarButtonItem setTitle:@"Back"];

(带后退箭头的自定义文字)