Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何以编程方式更改选项卡栏项显示的视图控制器?_Ios_Objective C_Xcode - Fatal编程技术网

Ios 如何以编程方式更改选项卡栏项显示的视图控制器?

Ios 如何以编程方式更改选项卡栏项显示的视图控制器?,ios,objective-c,xcode,Ios,Objective C,Xcode,我有一个iOS应用程序,它带有一个使用情节提要创建的选项卡栏控制器。其中一个选项卡栏按钮可连接到表视图控制器(通过导航控制器),该控制器显示用户选择的“收藏夹”项目列表。但是,如果项目列表为空,我想用一条简单的静态消息显示另一个视图控制器。是否可以通过编程方式更改选项卡栏按钮/segue的“目标”视图控制器?如果是,怎么做?还是有更好的替代方案来实现这一点?谢谢 太简单了 [self.tabBarController setSelectedIndex:i]; i-要重定向的标签号索引 不要处理

我有一个iOS应用程序,它带有一个使用情节提要创建的选项卡栏控制器。其中一个选项卡栏按钮可连接到表视图控制器(通过导航控制器),该控制器显示用户选择的“收藏夹”项目列表。但是,如果项目列表为空,我想用一条简单的静态消息显示另一个视图控制器。是否可以通过编程方式更改选项卡栏按钮/segue的“目标”视图控制器?如果是,怎么做?还是有更好的替代方案来实现这一点?谢谢

太简单了

[self.tabBarController setSelectedIndex:i];

i-要重定向的标签号索引

不要处理tabBar索引

为了更好地适应您的场景,请尝试以下方法:

ViewDidLoad
中,检查
喜爱的项目

 if(empty ){
   //hide the tableView(tableView =nil ) && Show the Static Message.
}else{
   // Hide the static Message && initiate the tableView
}

如果表计数为零,为什么不在tableview的superView中使用UIView和add view?这看起来很可能!我尝试了类似的方法,但我没有隐藏默认的tableView,因此无法正常工作。将对此进行测试并返回报告。请使用具有“空视图”和
UITableView
的自定义UIViewController,而不是使用UITableViewController。理想情况下,使用可以调用的方法从添加第一个收藏夹时也会调用的
viewDidLoad
中更新UI。最后,如果收藏夹列表为空,我在收藏夹列表TableViewController的viewDidLoad方法中创建了一个到“show if empty”ViewController的自动分段。似乎是保存重新构建列表部分的最简单选项。