0

Xcode 7.3 で Swift 2.3 を使用しています。UITableViewController を持つ UINavigationController があります。ナビゲーションバーのナビゲーションアイテムの 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)
4

1 に答える 1

0

スイフト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)

コードを上記に置き換えます。

于 2016-12-13T04:10:00.343 に答える