gpt4 book ai didi

iphone - 带有自定义后退按钮的 UINavigationController 子类

转载 作者:行者123 更新时间:2023-12-01 19:19:37 25 4
gpt4 key购买 nike

我知道我可以从 View Controller 本身设置自定义后退按钮,例如:

- (void)setBackButton
{
UINavigationBar* navBar = self.navigationController.navigationBar;
UIButton* backButton = [navBar backButtonWith:[UIImage imageNamed:@"navigationBarBackButton.png"]
highlight:nil
leftCapWidth:14.0];

[backButton addTarget:self action:@selector(backButtonTapped:) forControlEvents:UIControlEventTouchUpInside];

self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:backButton] autorelease];
}

- (void)backButtonTapped:(id)sender
{
[self.navigationController popViewControllerAnimated:YES];
}

问题是我需要为我所有的 View Controller 做这件事......
一种解决方案是将此代码放在一些 BasicViewController 中,我所有的 View Controller 都会对其进行子类化。

但我的问题是我可以继承 UINavigationCotroller 本身并将它的导航栏左按钮设置为这个自定义按钮吗?

最佳答案

正确的方法是使用 UIAppearance

它提供了UIBarButtonItem上的方法如
- (void)setBackButtonBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics

- (void)setBackButtonBackgroundVerticalPositionAdjustment:(CGFloat)adjustment forBarMetrics:(UIBarMetrics)barMetrics

关于iphone - 带有自定义后退按钮的 UINavigationController 子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10934526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com