我正在尝试制作一个自定义后退按钮,以便在导航控制器中弹回父级。我明白我应该在父控制器本身制作后退按钮
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;
它的工作正常,但按钮根本看不到!
答案 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);
最后一个数字是高度,倒数第二个是按钮宽度。