Cosmic Mind - 实现 TabsController 时如何调整视图大小
Posted
技术标签:
【中文标题】Cosmic Mind - 实现 TabsController 时如何调整视图大小【英文标题】:Cosmic Mind - How to resize view when TabsController is implemented 【发布时间】:2018-05-03 15:02:51 【问题描述】:我在向此屏幕插入标题时遇到问题。 如何调整此视图的大小?
这是我实现 TabsController 的代码:
class DashboardViewController: TabsController
let screenSize = UIScreen.main.bounds
override func viewDidLoad()
super.viewDidLoad()
override func prepare()
super.prepare()
tabBar.lineColor = UIColor.CustomColor.blue
tabBar.setTabItemsColor(UIColor.CustomColor.grey, for: .normal)
tabBar.setTabItemsColor(UIColor.CustomColor.blue, for: .selected)
tabBarAlignment = .top
tabBar.tabBarStyle = .auto
tabBar.dividerColor = nil
tabBar.lineHeight = 2.0
tabBar.lineAlignment = .bottom
tabBar.backgroundColor = .white
这是我的选项一代码(和选项二代码相同):
class TeamProjectViewController: UITableViewController
override func viewDidLoad()
super.viewDidLoad()
prepareTabItem()
setupTableView()
fileprivate func setupTableView()
tableView.backgroundColor = .white
tableView.allowsSelection = false
tableView.separatorColor = UIColor.CustomColor.lightGrey
tableView.register(UINib(nibName: "ProjectTableViewCell", bundle: nil), forCellReuseIdentifier: "cell")
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
return 10
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! ProjectTableViewCell
return cell
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
return 150
extension TeamProjectViewController
fileprivate func prepareTabItem()
tabItem.title = "Option 1"
这是我的标签发生的事情:
谢谢!
【问题讨论】:
当你说标题时,你是指标签的标题,还是标签上方的标题? 【参考方案1】:在您的代码中,您实际上没有在TabsController
上设置视图,其中可能存在标题。您需要包装 TabsController 才能完成此操作。一种方法是使用ToolbarController
:
let toolbarController = ToolbarController(rootViewController: myTabsController)
toolbarController.toolbar.title = "my title"
这是解决您的问题的一种方法。
【讨论】:
【参考方案2】:如果您只需要 20 像素来移动状态栏下方的选项卡,您可以使用 StatusBarController
和 displayStyle = .partial
。这就是我的解决方法。
let tabsController = TabsController(viewControllers: [
MyViewController1(),
MyViewController2()
])
let statusBarController = StatusBarController(rootViewController: tabsController)
statusBarController .displayStyle = .partial
// add statusBarController to hierarchy
【讨论】:
以上是关于Cosmic Mind - 实现 TabsController 时如何调整视图大小的主要内容,如果未能解决你的问题,请参考以下文章