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