首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS 13导航栏外观setBackIndicatorImage不工作

iOS 13导航栏外观setBackIndicatorImage不工作
EN

Stack Overflow用户
提问于 2019-09-30 23:45:57
回答 1查看 615关注 0票数 1

我试图使用新的iOS导航栏外观应用程序接口来配置我的应用程序的后退按钮指示器,但它不起作用:

代码语言:javascript
运行
复制
    let bar = self.navigationController!.navigationBar
    let sz = CGSize(20,20)
    let arrow = UIImage(systemName:"arrowtriangle.left")!
    let indic =
        UIGraphicsImageRenderer(size:sz).image { ctx in
            arrow.draw(in:CGRect(0,0,20,20)) // indicator is arrow
    }
    let indicmask =
        UIGraphicsImageRenderer(size:sz).image { ctx in
            ctx.fill(CGRect(0,0,20,20)) // mask is entire image
        }
    bar.standardAppearance.setBackIndicatorImage(
        indic, transitionMaskImage: indicmask)

我看到的只是一个蓝色的大矩形。

到底怎么回事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-30 23:45:57

这是一个非常愚蠢的错误:苹果的参数落后了!只需将图像交换到遮罩应该放在的位置,将遮罩放到图像应该放到的位置,一切都会很好:

代码语言:javascript
运行
复制
    let bar = self.navigationController!.navigationBar
    let sz = CGSize(20,20)
    let arrow = UIImage(systemName:"arrowtriangle.left")!
    let indic =
        UIGraphicsImageRenderer(size:sz).image { ctx in
            arrow.draw(in:CGRect(0,0,20,20)) // indicator is arrow
    }
    let indicmask =
        UIGraphicsImageRenderer(size:sz).image { ctx in
            ctx.fill(CGRect(0,0,20,20)) // mask is entire image
        }
    bar.standardAppearance.setBackIndicatorImage(
        indicmask, transitionMaskImage: indic) // swap!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58171228

复制
相关文章

相似问题

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