iOS:如何从另一个视图控制器类更改视图大小/原点?

时间:2014-11-24 17:16:14

标签: ios objective-c iphone uiview

我在屏幕上有两个视图(故事板场景),但我想更改" size/origin"的View A。来自" View B"。但是我的下面的代码不起作用,view保持不变:

代码从" viewDidLoad"

添加到View B
ViewA *viewA = [[ViewA alloc]init];
 viewA.view.frame = CGRectMake(0,100,200,2000);

如果有人可以请求帮助我会感激:)

2 个答案:

答案 0 :(得分:0)

  

我想更改"查看A"的大小/来源来自"查看B"

观点之间的关系是什么?如果两个视图由不同的视图控制器管理,那么它们不应该直接相互通信。通常,可能与世界其他地方进行通信的视图会在其委托上调用方法,该方法通常是管理它的视图控制器。然后,该视图控制器将采取适当的操作 - 更新数据模型,向另一个视图控制器发送消息,发布通知等。应该直接与给定视图图混淆的唯一对象是该图的视图控制器。 / p>

答案 1 :(得分:0)

可能没有足够的细节来给出一个好的答案,但假设这些视图是同一个视图控制器的一部分,您可能希望将一个动作从viewA连接到控制器,这将改变viewB的框架。

假设这些视图具有单独的控制器,其父级是AppDelegate,您将希望将该消息转发给父级并从那里处理它。

如果该操作应该影响许多控制器中的多个行为,那么您可能还需要考虑NSNotificationCenter路由。