首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改UINavigationBar中UIBarButtonItem的位置

更改UINavigationBar中UIBarButtonItem的位置
EN

Stack Overflow用户
提问于 2011-04-23 08:03:41
回答 16查看 88.1K关注 0票数 68

如何更改UIBarButtonItem在UINavigationBar中的位置?我希望我的按钮比正常位置高出5px。

EN

Stack Overflow用户

发布于 2020-12-17 11:24:14

如果您只是想像我一样调整自定义后退按钮的位置,我使用了一个向UIImage本身添加插件的解决方案来实现这一点。

我使用的解决方案来自:https://stackoverflow.com/a/31240900/1241783

添加此扩展函数

代码语言:javascript
运行
复制
import UIKit

extension UIImage {
    func imageWithInsets(insets: UIEdgeInsets) -> UIImage? {
        UIGraphicsBeginImageContextWithOptions(
            CGSize(width: self.size.width + insets.left + insets.right,
                   height: self.size.height + insets.top + insets.bottom), false, self.scale)
        let _ = UIGraphicsGetCurrentContext()
        let origin = CGPoint(x: insets.left, y: insets.top)
        self.draw(at: origin)
        let imageWithInsets = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return imageWithInsets
    }
}

然后在自定义后退按钮时就像这样使用它

代码语言:javascript
运行
复制
let backIcon = UIImage(named: "back_btn_icon")!.imageWithInsets(insets: UIEdgeInsets(top: 0, left: 0, bottom: 5, right: 0))
navigationController?.navigationBar.backIndicatorImage = backIcon
navigationController?.navigationBar.backIndicatorTransitionMaskImage = backIcon

根据需要调整插图

票数 0
EN
查看全部 16 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5761183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档