2017-05-15 9 views
1

私は最初のタブとして最初のタブとして"Home"を含むタブ付きアプリケーションを持っています。 ホームUITableViewControllerで、アプリのすべてのタブとして、BETableViewControllerに準拠し、かつUINavigationViewControllerに埋め込まれています。UITableViewのUINavigationBarの高さが変更されない

ホームで行を選択すると、に準拠してArticleViewControllerになります。

BEViewControllerおよびBETableViewControllerは大きい(高さが拡大されています)UINavigationBarロゴが入っています。これらの変更は各コントローラーのviewDidLoad()機能にあります。

問題は、アプリケーションをロードするとき、ホームは、ロゴがTableViewに通常のサイズUINavigationBarであることを示しています。 。行を選択すると、ArticleViewControllerが表示され、ナビゲーションバーに必要な結果が表示されます。 Wheniはホームが意図した結果を示し、戻るボタンを通じて、ホームに戻ります。

私はスクリーンショットといくつかのコードが含まれます。

Image 1: Initial Home

class BEViewController: UIViewController { 

var logo = UIImageView() //CGSize(width: 100, height: 100)) 

override func viewDidLoad() { 
    super.viewDidLoad() 
    logo.frame = CGRect(x: self.view.frame.width/2 - 40, y: 20, width: 80, height: 80) 
    logo.image = #imageLiteral(resourceName: "logo") 

    self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 100) 
    self.navigationController?.navigationBar.addSubview(logo) 
    } 
} 

class BETableViewController: UITableViewController { 

var logo = UIImageView() //CGSize(width: 100, height: 100)) 

override func viewDidLoad() { 
    super.viewDidLoad() 
    logo.frame = CGRect(x: self.view.frame.width/2 - 40, y: 20, width: 80, height: 80) 
    logo.image = #imageLiteral(resourceName: "logo") 

    self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 100) 
    self.navigationController?.navigationBar.addSubview(logo) 
    } 

} 

Image 2: ArticleViewController

答えて

0

ナビゲーションバーで未満49 PTの画像のサイズを設定してください。私はそれをしたいのように、 `UINAvgationBar`を作るための方法はApple Guidelines - Navigation Bar

+0

参照してくださいありませんか?それはAppleの設計ガイドラインに関して素敵になりますようにUINavigationBar' 'の –

+0

高さは常に、49 ptのでなければなりません。それらを変更すると、あなたのアプリケーションは**拒否されます**。私が見つけた解決策は、中央で「44pt x 44pt」の画像を使用することです。 –

+0

ありがとうございました... –

関連する問題