在另一个ViewController中更改元素

时间:2014-08-05 14:52:38

标签: ios

我是iOS新手并且有一个非常基本的问题。我用谷歌搜索,找不到答案。

我在一个ViewController和视图上有一个UILabel,想要改变字体颜色:

myLabel.textColor = [UIColor blueColor];

但在另一个ViewController中。那可能吗?

所以myLabel位于第一个ViewController中,更改myLabel颜色的按钮位于另一个ViewController中。

像yall这样的更多信息问道:

我的应用程序由大量按钮和简单命令编译而成。所有按钮都在同一个区域,所以我想把它们中的一些放在不同的视图上,而不是只是在彼此的顶部堆叠按钮并调用.hidden = true;在他们身上。

1 个答案:

答案 0 :(得分:1)

这是可能的,但它不会立即听起来像一个好的设计。不了解您的应用程序的更多信息...

如果颜色变化是为了反映模型中的某些变化,则应通过模型进行更改:

- (的UIEvent) - > ViewController1 - (更新) - >模型 - (观察) - > ViewController2 - (更改颜色) - >文本框。

如果您的应用程序不那么复杂,您至少应该在ViewController2上实现一个方法,该方法描述文本字段应该更改的原因并从ViewController1发送该消息(调用方法)。

您还需要将对VC2的引用传递给VC1 - 您已经拥有了这个,因为存在VC1-> VC2父子关系,或者您必须通过联合父项进行。