【问题标题】:Custom icons in navigation bar Swift 3 [duplicate]导航栏中的自定义图标 Swift 3 [重复]
【发布时间】:2018-04-09 17:05:08
【问题描述】:

我在 Swift 3 中的自定义按钮有问题,我添加到 Assets 文件夹中,在 ViewController 和 VC 中显示了图标,但是当我在模拟器和手机中查看时,该项目仅显示表单但不显示颜色和图标本身。

这是模拟器和我手机中的图像:

这是我的代码:

override func viewDidLoad() {
    super.viewDidLoad()

    navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style: .done, target: nil, action: nil)
    navigationController?.navigationBar.backIndicatorImage = #imageLiteral(resourceName: "back")
    navigationController?.navigationBar.backIndicatorTransitionMaskImage = #imageLiteral(resourceName: "back")

最后是按钮图标:

在 Photoshop 中

在 xcode 中:

【问题讨论】:

    标签: ios swift uinavigationcontroller navigationbar


    【解决方案1】:

    确保您遵循guidelines 创建导航栏项目。只是从您的图像中猜测,您似乎希望黑暗区域被着色,而白色箭头显示为白色或透明?为了实现这一点,您需要使白色箭头透明。无论您的图标在哪里有像素信息,都会被着色。

    【讨论】:

    • 是的,图像有 69 px,是透明的,在 VC 中显示,但在模拟器中不显示..
    • 正确,但箭头也需要透明。当我第一次回答时,我下载了 png 并且能够看到这个。您现在还添加了一张 Photoshop 图像,该图像显示箭头被填充为白色。您只需删除白色箭头,即可看到透明背景。在 Photoshop 中,这将显示箭头所在的网格。
    • 你说得对!!现在正在显示..我不知道图像内部也需要透明。谢谢。最好的问候!
    【解决方案2】:

    你有没有检查过白色箭头实际上是一个透明区域而不是白色?

    然后您可以为导航控制器设置 tintColor。尝试这样的事情: navigationController?.navigationBar.tintColor = UIColor(..the color you want..)

    【讨论】:

    • 是的,按钮是png格式并且有透明背景
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-18
    • 2015-07-15
    相关资源
    最近更新 更多