我对swift很新,我目前正在构建一个应用程序,可以显示在影院中播放的电影和电视节目。
最初,我有它,所以标签栏控制器中只有2个标签,它显示最新的电影和最近播出的电视节目。为了增强用户体验,我创建了一个菜单,通过该菜单,用户可以选择4种不同的类别(例如,最受欢迎的电影,新发布的电影,热门电影等)。 我创建了一个数组,以便标签栏控制器知道从何处获取数据以查看电影和电视节目。当用户选择新类别时,阵列会更新,但标签栏控制器不会更新其选项卡。当应用程序重新启动时,选项卡会反映新选择的类别。
我知道如果这是一个tableview,我可以调用tableview.reload(),但我不知道如何为标签栏控制器执行此操作。请帮帮我,并提前致谢!
答案 0 :(得分:1)
Kevin你可以在appDelegate中创建一个函数,并使tabbar成为rootview控制器
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let nowPlayingNavigationController = storyboard.instantiateViewControllerWithIdentifier("FlicksNavigationController") as! UINavigationController
let nowPlayingViewController = nowPlayingNavigationController.topViewController as! MoviesViewController
nowPlayingViewController.endpoint = "now_playing"
nowPlayingNavigationController.tabBarItem.title = "YOUR SELECTED TITLE"
nowPlayingNavigationController.tabBarItem.image = UIImage(named: "popular")
nowPlayingNavigationController.navigationBar.barStyle = .BlackTranslucent
let topRatedNavigationController = storyboard.instantiateViewControllerWithIdentifier("FlicksNavigationController") as! UINavigationController
let topRatedViewController = topRatedNavigationController.topViewController as! MoviesViewController
topRatedViewController.endpoint = "top_rated"
topRatedNavigationController.tabBarItem.title = "YOUR SELECTED TITLE"
topRatedNavigationController.tabBarItem.image = UIImage(named: "topRated")
topRatedNavigationController.navigationBar.barStyle = .BlackTranslucent
window?.rootViewController = tabBarController
您可以在该函数中编写此代码并使其成为root viewcontroller并更改标题,
或强>
在你的Tabbarviewcontroller.swift中你可以使用postnotification并相应地更新它。