ios - 在左对齐的导航栏中添加 Logo

标签 ios swift uinavigationbar

我对如何在左对齐的 NavigationBar 中获取图像感到困惑。我了解如何替换中心的标题。

基本上,我有一个嵌入在导航栏 Controller 中的 View Controller 。在该 View Controller 中,我在中间有一个搜索表单,在右侧有一个栏按钮,我试图在左侧放置一个图像 Logo 。

下面是我所了解的如何放置图像,但如何让它左对齐?

    let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
imageView.contentMode = .ScaleAspectFit
let image = UIImage(named: "imageName")
imageView.image = image
navigationItem.titleView = imageView 

最佳答案

您可以将项目数组分配给 navigationBarleftBarButtonItems 属性。您应该添加一个数组,因为左侧和 Logo 之间通常没有空格,这看起来不太好。这是一个例子:

func setUpUI() {
    let logoImage = UIImage.init(named: "logoImage")
    let logoImageView = UIImageView.init(image: logoImage)
    logoImageView.frame = CGRectMake(-40, 0, 150, 25)
    logoImageView.contentMode = .ScaleAspectFit
    let imageItem = UIBarButtonItem.init(customView: logoImageView)
    let negativeSpacer = UIBarButtonItem.init(barButtonSystemItem: .FixedSpace, target: nil, action: nil)
    negativeSpacer.width = -25
    navigationItem.leftBarButtonItems = [negativeSpacer, imageItem]
}

它左边的负垫片会把它推过去一点,你可以从那里调整它。

关于ios - 在左对齐的导航栏中添加 Logo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36648219/

相关文章:

iphone - 在 iPad 上设置 slider 图像?

ios - 4.0 的 Vuforia VideoPlayback 示例?

ios - 我想在 ios 中发送带有图片上传的用户 ID

swift - url 的请求通过了 2 次,虽然应该是 1 次

ios - 如何在 Swift 中仅删除 NavigationBar 的边框颜色?

iphone - 如何设置 UITextField 高度?

swift - 按 T​​abBar 项目后弹出

swift - 如何使用 NSNotification 将 sqlite.swift 的 Row 传递到另一个 Controller

ios - 无法在 tableviewcontroller 上获得半透明的导航栏。适用于 View Controller 和 TableView

swift - 右栏按钮图像太大 - Swift