在导航栏中插入图标/使 BarButtonItem 不可点击 Swift iOS

问题描述 投票:0回答:4

我想在导航栏中放置一个蓝牙图标,以显示连接/断开连接状态。

我尝试添加一个 BarButtonItem,将图像设置为我的蓝牙图标,然后禁用和启用此按钮。到目前为止,这工作正常,对我来说看起来不错,但我不想让这个按钮可点击,这样它就不会在点击图标时改变颜色。

这可能吗,或者有没有办法将 UIImageView 放入导航栏?

谢谢!

ios swift icons navigationbar
4个回答
0
投票

尝试使用以下方法禁用触摸事件:

myBarButtonItem.isUserInteractionEnabled = false

0
投票

navigationItem.rightBarButtonItem?.isEnabled = false


0
投票

添加以下代码将解决您的问题。

let btnBluetooth = UIButton()
btnBluetooth.setImage(#imageLiteral(resourceName: "icon_bluetooth"), for: .normal)
btnBluetooth.setImage(#imageLiteral(resourceName: "icon_bluetooth"), for: .highlighted)
btnBluetooth.tintColor = .red

let barButton = UIBarButtonItem(customView: btnBluetooth)
self.navigationItem.rightBarButtonItem = barButton

此代码将添加自定义按钮,您可以在其中管理正常和突出显示模式的图像。对于蓝牙状态管理,请将您在

tintColor
中添加的
UIButton
更改为自定义视图。

如果单击按钮,图像的颜色不会改变。

如果您不想添加

UIBarButtonItem

,您可以通过以下代码添加

UIButton

UIImageView

此外,请确保您已为蓝牙图标选择
渲染为

作为模板图像,该图标添加到let imgBluetooth = UIImageView(image: #imageLiteral(resourceName: "icon_bluetooth")) imgBluetooth.tintColor = .red let barButton = UIBarButtonItem(customView: imgBluetooth) self.navigationItem.rightBarButtonItem = barButton 内以影响色调颜色。否则图像将显示为原始图像。请参阅以下内容:



0
投票
类 TrafficByLocationViewController: UIViewController {

import UIKit

}

© www.soinside.com 2019 - 2024. All rights reserved.