Я использую Swift 2.3 в Xcode 7.3. У меня есть UINavigationController с UITableViewController. Я пытаюсь установить titleView элемента навигации в navigationBar, чтобы создать кнопку, центрированную в панели навигации.TitleView файла UINavigationItem UITableViewController не отображается
IndexTextBut - это UIButton, подключенный к доске объявлений. Я попробовал просто создать новую кнопку, и это не имело заметной разницы. То, как я сейчас делаю это, есть кнопка, так как она имеет поведение, которое она должна, но не изображение. Я попытался просто установить поле заголовка в виде строки, и даже тогда ничего не вижу. Я установил правый и левый столбцы с помощью:
navItem.setRightBarButtonItems(barButtonItems, animated: false)
navItemArray.append(navItemCatDet)
self.navigationController?.navigationBar.setItems(navItemArray, animated: false)
Вот мой соответствующий код. Мой большой вопрос в том, почему я не вижу, как изображение кнопки устанавливается в titleView. Он имеет предустановленное поведение, и когда я нажимаю, где это должно быть, я получаю это поведение. Я попытался настроить кадр UIButton и его UIImageView, а также размер изображения UIImageView, но не повезло. Я включил строку aobut, подкрашивающую фон, только что она связана, хотя я пробовал ее с и без.
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)
Я использую Swift 2. Код был легко преобразован в Swift 2, только разница была «forState: .Normal» вместо «for: .normal». Тем не менее, это не сработало, я до сих пор не вижу визуальной индикации кнопки или даже текста заголовка («кнопка»). – Shreck