我有一个带有2个选项卡的UITabBarController,称它们为A和B.B在它的视图控制器中有一个UISegmentedControl。当我在选项卡A中时,如何以编程方式切换到选项卡B和分段控件中的某个索引?
我知道我可以这样切换标签:
self.tabBarController.selectedIndex = 1;
但是如何在分段控件中切换到某个索引?
答案 0 :(得分:1)
对此的正确方法是视图控制器A(VCA)向应用程序代理发送消息,后者又向VCB发送消息。这些都不应该知道有关分段控制的任何信息。当调用VCB上的方法时,视图控制器应该具有根据需要更新其视图的知识。
VCA和VCB不应该彼此了解,当然也不应该有任何访问彼此的观点。
另一种选择是让两个视图控制器都使用一些通用数据模型。然后,当VCA更新模型时,VCB可以根据需要通过更新自身来对更改做出反应。然后VC都不需要向应用代表发送消息。
答案 1 :(得分:0)
假设你的主VC中有@properties用于viewController中的viewController,并假设你的viewController中有@property segmentedControl:
[self.viewContollerB.segmentedControl setSelectedSegmentIndex:1]