我想创造一个UIToolbar的"后退"左箭头挡板按钮.

据我所知,获得其中一项的唯一方法是将UINavigationController保留为默认设置,并将其用于左栏项目.但我找不到办法创建一个UIBarButtonItem,所以我无法在标准UIToolbar中创建一个,尽管它们与UINavigationBar非常相似.

我可以用按钮图像手动创建它,但是我在任何地方都找不到源图像.它们有Alpha通道边缘,所以截图和剪切不会得到非常全面的效果.

除了截图之外,还有什么 idea 可以满足我想要使用的各种尺寸和配色方案吗?

Update:请不要回避这个问题,并建议我不应该问这个问题,而应该使用UINavigationBar.我的应用程序是Instapaper Pro.它只显示一个底部工具栏(以节省空间并最大化可读内容区域),我希望在底部放置一个左箭头形状的后退按钮.

告诉我我不应该做这is not an answer美元,当然也不应该得到赏金.

推荐答案

我使用了下面的PSD,它是我从http://www.teehanlax.com/blog/?p=447中派生出来的

http://www.chrisandtennille.com/pictures/backbutton.psd

然后,我刚刚创建了一个自定义UIView,我在工具栏项的customView属性中使用它.

对我来说很管用.


Edit:As pointed out by PrairieHippomaralbjo发现,使用下面的简单代码做的诀窍(需要Bundle 中的自定义图像)应该与这个答案结合起来.下面是额外的代码:

// Creates a back button instead of default behaviour (displaying title of previous screen)
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back_arrow.png"]
                                                               style:UIBarButtonItemStyleBordered
                                                              target:self
                                                              action:@selector(backAction)];

tipsDetailViewController.navigationItem.leftBarButtonItem = backButton;
[backButton release];

Ios相关问答推荐

Flutter应用程序无法使用IOS/Swift的蓝牙核心库发现某些外围设备

将图案UI视图动画化以模拟进度条

Swift addtarget方法的默认参数不生效

SwiftUI拖动手势和内容拖动时的奇怪行为( skip /卡顿)

通过拖动更改视图位置的SwiftUI会引发UI错误

如何从Windows PC在iPhone上安装Flutter 应用程序

当S没有身体时该如何处理

SwiftUI检测顶级和安全区域插图

确保方法调配的安全有效实施

使用 Xamarin 将 dext Bundle 到 iOS .ipa 中

如何在 SwiftUI 视图中显示协议视图?

为什么这个 init 被分派到一个内部扩展 init?

在 Swift 中 @MainActor 似乎被 withCheckedContinuation 而不是其他异步调用继承是巧合吗?

iOS应用程序崩溃,必需条件为false:isformatsamplerateandchannelcountvalid(format)

检测 iPhone/iPad/iPod touch 的 colored颜色 ?

如何在 SwiftUI 中检测 TextField 的实时变化?

如何判断是否为 64 位构建了静态库?

使用 Swift 在一个 ViewController 中强制横向模式

UITableView:从空白部分隐藏标题

NSURL 到带有 XCTest 的测试包中的文件路径