在UIToolbar上创建一个左箭头按钮(类似于UINavigationBar的“返回”样式)

294
我想在UIToolbar中创建一个“后退”左箭头边框按钮。据我所知,唯一的方法是将UINavigationController保留为默认设置,并且它会在左侧栏项目中使用一个。但我找不到任何方法可以创建一个UIBarButtonItem,因此我无法在标准的UIToolbar中创建一个,即使它们与UINavigationBar非常相似。我可以手动使用按钮图像创建它,但我找不到源图像。它们具有alpha通道边缘,因此截屏和剪切效果不太好。除了为每个大小和颜色方案截图之外,还有什么想法吗?
更新:请停止回避问题并建议我不应该这样做,而应该使用UINavigationBar。我的应用程序是Instapaper Pro。它只显示底部工具栏(以节省空间和最大化可读内容区域),我希望在底部放置一个左箭头形状的返回按钮。
告诉我我不需要这样做“不是答案”,当然也不值得奖金。

从 @Oxced : http://github.com/0xced/UIKit-Artwork-Extractor - rptwsthi
24个回答

0
在Swift 3中的一个示例,包含位于右上方的上一页和下一页按钮。
let prevButtonItem = UIBarButtonItem(title: "\u{25C0}", style: .plain, target: self, action: #selector(prevButtonTapped))
let nextButtonItem = UIBarButtonItem(title: "\u{25B6}", style: .plain, target: self, action: #selector(nextButtonTapped))
self.navigationItem.rightBarButtonItems = [nextButtonItem, prevButtonItem]

0

Swift

// create button
    var backButton = UIButton(type: 101)

    // left-pointing shape!
    backButton.addTarget(self, action: #selector(self.backAction), for: .touchUpInside)
    backButton.setTitle("Back", for: .normal)

    // create button item -- possible because UIButton subclasses UIView!
    var backItem = UIBarButtonItem(customView: backButton)

    // add to toolbar, or to a navbar (you should only have one of these!)
    toolbar.items = [backItem]
    navItem.leftBarButtonItem = backItem

-5

试试这个。我相信你不需要一个返回按钮图像来创建这样一个。

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                               style:UIBarButtonItemStyleBordered
                                                              target:self
                                                              action:@selector(yourSelectorGoesHere:)];
self.navigationItem.backBarButtonItem = backButton;

这就是你需要做的全部 :)


-24

你为什么要这样做?如果你想要一个看起来像导航栏的东西,使用UINavigationBar。

工具栏有特定的视觉风格。iPhone的人机界面指南规定:

工具栏出现在屏幕底部,包含与当前视图中的对象相关的操作按钮。

然后给出了几个大致为正方形图标且没有文本的视觉示例。我建议你遵循HIG的规定。


8
我知道这一点,谢谢。然而,我相信我的使用方式是合适的。如果我真的想做我所问的事情,你能更具有帮助性吗? - Marco
如果你把它放在屏幕顶部,那么它的使用是错误的。比较UINavigationBar和UIToolbar之间的渐变和边框,你会发现它们略有不同。你肯定想在屏幕顶部使用UINavigationBar。 - Ecton
10
我会把它放在底部。 - Marco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接