Ios 如何使用swift在情节提要模式下重用UITabBarController中的视图控制器
我使用的是一个带有3个子视图的UITabBarController,它们都具有相同的结构,只是应用于数据的不同数据或过滤器。到目前为止,我只创建了3个子视图并将它们连接起来,但我在重复我自己,我知道这不可能是正确的做法 我的问题是如何创建一个子视图及其所有功能和视图,然后在应用正确过滤器的情况下重用它。e、 g 单击“所有数据”选项卡,加载具有var filter='all'和var order_by='created_date'的视图 单击“已完成”选项卡,加载具有var filter='completed'和var order_by='completed_date'的视图Ios 如何使用swift在情节提要模式下重用UITabBarController中的视图控制器,ios,swift,swift2,uitabbarcontroller,Ios,Swift,Swift2,Uitabbarcontroller,我使用的是一个带有3个子视图的UITabBarController,它们都具有相同的结构,只是应用于数据的不同数据或过滤器。到目前为止,我只创建了3个子视图并将它们连接起来,但我在重复我自己,我知道这不可能是正确的做法 我的问题是如何创建一个子视图及其所有功能和视图,然后在应用正确过滤器的情况下重用它。e、 g 单击“所有数据”选项卡,加载具有var filter='all'和var order_by='created_date'的视图 单击“已完成”选项卡,加载具有var filter='co
我在想,当我准备这段对话时,我可以做些什么?尽管你的原始帖子没有太多的内容,但我认为这可能会奏效 您可以在主子视图中设置一个全局变量,您希望根据我的理解在内容中对其进行自定义
var customizationObject = CustomFilters()
对于CustomFilters,请执行以下操作:
class CustomFilters {
var filter1: String?
var filter2: String?
//and so on
}
在prepareForSegue中,将对象传递给目标视图控制器以设置过滤器
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "Load View") {
// pass data to next view
}
}
在新的单子视图中,检查在视图中设置的过滤器将显示或查看加载(取决于您的情况),然后继续执行您想要执行的操作 我也遇到了同样的问题,我发现ctrl从“选项卡视图控制器”拖动多次到同一个选项卡视图都有效 然后在选项卡控制器中:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
(self.viewControllers![0] as! DailyChartsViewController).title="Daily"
(self.viewControllers![0] as! DailyChartsViewController).tabBarItem.image=UIImage(named: "daily")
(self.viewControllers![0] as! DailyChartsViewController).filter = 1
(self.viewControllers![1] as! DailyChartsViewController).title="Weekly"
(self.viewControllers![1] as! DailyChartsViewController).tabBarItem.image=UIImage(named: "weekly")
(self.viewControllers![1] as! DailyChartsViewController).filter = 7
}
那么,我会在情节提要中保留多个子视图,只加载同一个类吗?@Designer023我不确定你的结构在情节提要中是什么样子的,但我的建议可能会导致一个父视图和一个子视图,其中的数据可以根据传递的筛选器首选项进行筛选。