Ios UITableView中UINavigationBar的高度不为';不变

Ios UITableView中UINavigationBar的高度不为';不变,ios,swift,uitableview,Ios,Swift,Uitableview,我有一个选项卡式应用程序,第一个选项卡是“Home”,它是初始视图控制器Home是一个UITableViewController,与BETableViewController一致,作为应用程序的所有选项卡,并嵌入到UINavigationViewController中 当您在主页中选择一行时,您将进入ArticleViewController,符合BEViewController BEViewController和BETableViewController有一个大的(高度已放大)UINaviga

我有一个选项卡式应用程序,第一个选项卡是“Home”,它是初始视图控制器Home是一个
UITableViewController
,与
BETableViewController
一致,作为应用程序的所有选项卡,并嵌入到
UINavigationViewController

当您在主页中选择一行时,您将进入
ArticleViewController
,符合
BEViewController

BEViewController
BETableViewController
有一个大的(高度已放大)
UINavigationBar
包含一个徽标;这些更改出现在每个控制器的
viewDidLoad()
函数中

问题是,当我加载应用程序时,Home会显示一个正常大小的
UINavigationBar
,其徽标会突出到表视图中。 . 当我选择一行时,它会将我带到
ArticleViewController
,它会在导航栏中显示所需的结果。当我返回主页时,通过后退按钮,主页显示预期结果

我将包括截图和一些代码

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)
    }

}


请将导航栏中的图像大小设置为小于49磅。请参考

是否有办法使
UINavigationBar
符合我的要求?UINavigationBar的高度应始终为49磅,以便根据苹果公司的设计准则,它看起来很漂亮。对这些内容进行更改会导致您的申请被拒绝。我找到的唯一解决办法是在中心使用
44pt x 44pt
图像。