后退按钮uinavigationcontroller

时间:2013-04-04 01:08:13

标签: ios uinavigationcontroller

我正在尝试制作一个自定义后退按钮,以便在导航控制器中弹回父级。我明白我应该在父控制器本身制作后退按钮

self.navigationItem.backBarButtonItem= backBarButton

该按钮只是带有自定义文本的默认按钮,但它有效。没有显示格式或字体。 所以我在子VC中创建了一个自定义leftBarButton:

UIButton *backBtn= [[UIButton alloc] init];
backBtn.backgroundColor = [UIColor clearColor];
backBtn.titleLabel.font = [UIFont fontWithName:@"CrimeFighter BB" size:20];
backBtn.titleLabel.textColor = [UIColor whiteColor];
backBtn.titleLabel.text = @"back";
[backBtn addTarget:self action:@selector(pop) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
self.navigationItem.leftBarButtonItem = backBarButton;

它的工作正常,但按钮根本看不到!

1 个答案:

答案 0 :(得分:1)

新尝试:

Doing an alloc & init on a UIButton isn't the right way to create a button in code

以编程方式创建按钮的方法是:

UIButton * backBtn = [UIButton buttonWithType: UIButtonTypeRoundedRect];

原始尝试:

您需要为自定义后退按钮提供合适的尺寸。在创建“UIBarButtonItem”之前尝试执行此操作。

backBtn.frame = CGRectMake(20.0f, 0.0f, 70.0f, 30.0f);

最后一个数字是高度,倒数第二个是按钮宽度。