0

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

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;

它工作正常,但按钮根本不可见!

4

1 回答 1

1

新尝试:

在 UIButton 上执行 alloc & init 并不是在代码中创建按钮的正确方法

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

UIButton * backBtn = [UIButton buttonWithType: UIButtonTypeRoundedRect];

原始尝试:

您需要为自定义后退按钮提供适当的大小。在创建“”之前尝试这样做UIBarButtonItem

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

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

于 2013-04-04T01:14:06.230 回答