我在屏幕上有两个视图(故事板场景),但我想更改" size/origin
"的View A
。来自" View B
"。但是我的下面的代码不起作用,view
保持不变:
代码从" viewDidLoad
"
View B
ViewA *viewA = [[ViewA alloc]init];
viewA.view.frame = CGRectMake(0,100,200,2000);
如果有人可以请求帮助我会感激:)
答案 0 :(得分:0)
我想更改"查看A"的大小/来源来自"查看B"
观点之间的关系是什么?如果两个视图由不同的视图控制器管理,那么它们不应该直接相互通信。通常,可能与世界其他地方进行通信的视图会在其委托上调用方法,该方法通常是管理它的视图控制器。然后,该视图控制器将采取适当的操作 - 更新数据模型,向另一个视图控制器发送消息,发布通知等。应该直接与给定视图图混淆的唯一对象是该图的视图控制器。 / p>
答案 1 :(得分:0)
可能没有足够的细节来给出一个好的答案,但假设这些视图是同一个视图控制器的一部分,您可能希望将一个动作从viewA连接到控制器,这将改变viewB的框架。
假设这些视图具有单独的控制器,其父级是AppDelegate,您将希望将该消息转发给父级并从那里处理它。
如果该操作应该影响许多控制器中的多个行为,那么您可能还需要考虑NSNotificationCenter路由。