【发布时间】:2012-06-16 16:59:29
【问题描述】:
我正在尝试为后退按钮设置自定义图像,当新视图被推入堆栈时,该按钮会自动放置在导航栏上。
我尝试在父viewController的viewDidLoad中添加以下内容:
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"BackButton.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
我也尝试了以下方法:
UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"BackButton.png"] style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = btn;
使用 UIAppearance 会产生非常奇怪的结果:
【问题讨论】:
-
除了您每次都必须这样做之外,
backBarButtonItem方法是否成功? -
不,两种方法都不成功。我最终不得不通过隐藏 backButton 然后设置标准按钮并将视图从堆栈中弹出来以一种 hacky 的方式来完成它。不理想。
-
嗯...您也可以尝试将后退按钮文本设置为
@" ",或者在仍使用第一种方法时将后退按钮文本颜色设置为透明。 -
这看起来像您创建的后退按钮上已经有文本...如果是这样.. 方法是错误的... ios 将扩展按钮以适应后退按钮文本并且还将把文字放在上面
标签: iphone objective-c xcode uinavigationcontroller uibutton