UITableViewController的标题视图的UINavigationItem图像不可见

时间:2016-12-13 03:07:50

标签: uinavigationcontroller uinavigationitem xcode7.3 swift2.3 titleview

我在Xcode 7.3中使用Swift 2.3。我有一个带UITableViewController的UINavigationController。我正在尝试在navigationBar中设置导航项的titleView,以创建一个以导航栏为中心的按钮。

indexTextBut是一个从故事板连接起来的UIButton。我试过创建一个新按钮,但它没有产生任何可察觉的差异。我目前正在做的方式按钮就在那里,因为它有行为,但没有图像。我试过将标题字段设置为字符串,即便如此,我什么也看不见。我使用:

设置了右边和左边的barButtonItems
navItem.setRightBarButtonItems(barButtonItems, animated: false)
navItemArray.append(navItemCatDet)
self.navigationController?.navigationBar.setItems(navItemArray, animated: false)

这是我的相关代码。我的一个大问题是为什么我看不到按钮的图像被设置为titleView。它具有预设行为,当我点击它应该在哪里时,我得到了这种行为。我已经尝试调整UIButton及其UIImageView的框架,以及UIImageView图像的大小,但没有运气。即使我已经尝试过和不使用它,我还是将该线条包含在背景中,只是因为它是相关的。

class MyTableViewController: UITableViewController, UITextFieldDelegate {

  @IBOutlet weak var indexTextBut: UIButton!

  override func viewDidLoad() {
    super.viewDidLoad()

    var indexNavItemArray = [UINavigationItem]()
    var indexNavItem = UINavigationItem()

    indexNavItem.titleView = newButton
    indexNavItemArray.append(indexNavItem)

    self.navigationController?.navigationBar.barTintColor = UIColor(netHex:0xe63246)
    self.navigationController?.navigationBar.setItems(indexNavItemArray, animated: false)

1 个答案:

答案 0 :(得分:0)

  

swift 3.0

var indexNavItemArray = [UINavigationItem]()
        var indexNavItem = UINavigationItem()

        indexNavItem.titleView = indexTextBut
        indexTextBut.setTitle("button", for: .normal)
        indexNavItemArray.append(indexNavItem)
         self.navigationController?.navigationBar.barTintColor = UIColor.lightGray

        self.navigationController?.navigationBar.setItems(indexNavItemArray, animated: false)
  

将您的代码替换为上面。