私は最初のタブとして最初のタブとして"Home"を含むタブ付きアプリケーションを持っています。 ホームはUITableViewController
で、アプリのすべてのタブとして、BETableViewController
に準拠し、かつUINavigationViewController
に埋め込まれています。UITableViewのUINavigationBarの高さが変更されない
ホームで行を選択すると、に準拠してArticleViewController
になります。
BEViewController
およびBETableViewController
は大きい(高さが拡大されています)UINavigationBar
ロゴが入っています。これらの変更は各コントローラーのviewDidLoad()
機能にあります。
問題は、アプリケーションをロードするとき、ホームは、ロゴがTableViewに通常のサイズUINavigationBar
であることを示しています。 。行を選択すると、ArticleViewController
が表示され、ナビゲーションバーに必要な結果が表示されます。 Wheniはホームが意図した結果を示し、戻るボタンを通じて、ホームに戻ります。
私はスクリーンショットといくつかのコードが含まれます。
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
参照してくださいありませんか?それはAppleの設計ガイドラインに関して素敵になりますようにUINavigationBar' 'の –
高さは常に、49 ptのでなければなりません。それらを変更すると、あなたのアプリケーションは**拒否されます**。私が見つけた解決策は、中央で「44pt x 44pt」の画像を使用することです。 –
ありがとうございました... –