我在 Swift 的导航栏中添加了一个徽标,但它没有向左对齐。相反,它正在向中心移动。
private func configureNavbar() {
var image = UIImage(named: "netflixLogo")
image = image?.withRenderingMode(.alwaysOriginal)
navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style: .done, target: self, action: nil)
navigationItem.rightBarButtonItems = [
UIBarButtonItem(image: UIImage(systemName: "person"), style: .done, target: self, action: nil),
UIBarButtonItem(image: UIImage(systemName: "play.rectangle"), style: .done, target: self, action: nil)
]
navigationController?.navigationBar.tintColor = .white
}
`
要将徽标图像放置在导航栏中的左侧,您可以使用自定义视图而不是
leftBarButtonItem
。您可以通过以下方式修改代码来实现此目的:
private func configureNavbar() {
let logoImageView = UIImageView(image: UIImage(named: "netflixLogo"))
logoImageView.contentMode = .scaleAspectFit
logoImageView.frame = CGRect(x: 0, y: 0, width: 100, height: 40) // Adjust the frame size as needed
let logoItem = UIBarButtonItem(customView: logoImageView)
navigationItem.leftBarButtonItem = logoItem
navigationItem.rightBarButtonItems = [
UIBarButtonItem(image: UIImage(systemName: "person"), style: .done, target: self, action: nil),
UIBarButtonItem(image: UIImage(systemName: "play.rectangle"), style: .done, target: self, action: nil)
]
navigationController?.navigationBar.tintColor = .white
}
在此代码中,我们创建一个带有徽标图像的
UIImageView
并将其内容模式设置为 .scaleAspectFit
以保持宽高比。我们还为图像视图设置了特定的框架来控制其大小。根据需要调整框架值以适合您的徽标。
然后,我们创建一个以自定义视图作为徽标图像视图的
UIBarButtonItem
,并将其分配给leftBarButtonItem
。这会将徽标图像放置在导航栏中的左侧。
确保将框架值和图像名称替换为您的实际徽标图像详细信息。
通过使用自定义视图,您可以更好地控制导航栏中徽标图像的位置和外观。