首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS段控制-切换视图控制器,无需内存,管理它们,不隐藏/混乱的代码/故事板

iOS段控制-切换视图控制器,无需内存,管理它们,不隐藏/混乱的代码/故事板
EN

Stack Overflow用户
提问于 2015-10-08 02:31:13
回答 1查看 751关注 0票数 0

我在这篇文章中回答我自己的问题。

要求:我希望有一个选项卡视图控制器作为顶部父级。这将有5个标签。在第一个选项卡中,我希望在顶部有一个段控件,我希望在第一个选项卡中切换视图,其中包含基于选择哪个段索引的信息。

在网上读一些建议是为了-

  1. 要么使用包含视图控制器,其中第一个选项卡保存对子视图控制器的强引用,然后根据其子视图控制器在段控件中选择索引。这方面的问题是,每个视图控制器都将消耗内存,因为我们将它们保持在强大的引用中。
  2. 我在线阅读的第二个想法是将所有内容放在第一个选项卡中的单个视图控制器上--基于该选项卡选择索引段控件,只需隐藏其他所有内容。问题是超级混乱的代码,太多的东西在同一个视图控制器,再加上故事板会变得凌乱的东西之上,彼此。
EN

回答 1

Stack Overflow用户

发布于 2015-10-08 02:31:13

我想出的解决方案是在第一个选项卡的视图控制器中嵌入另一个tabbarcontroller。隐藏第二个标签栏。第二个选项卡条将有3个子视图控制器,每个子视图控制器用于每个分段控件的索引。无论何时更改段,我都会更改选项卡。

所以在第二个表控制器中(self是第二个表控制器)

代码语言:javascript
复制
-(void)segmentChanged:(UISegmentedControl*)sender{
    NSLog(@"New value: %d",sender.selectedSegmentIndex);
    [self setSelectedIndex:sender.selectedSegmentIndex];
}

这样,iOS只在切换段时才会将视图控制器放在内存中,而不是从一开始就开始。Also iOS UIKit will handle the memory management for the tabs as mentioned here.

另外,我们不需要处理乱七八糟的代码和故事情节。每个段控件的索引逻辑在它自己的视图控制器中与第二个选项卡是分开的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33005620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档