繁体   English   中英

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

[英]iOS:How do you change a view size/origin from another view controller class?

我在屏幕上有两个视图(Storyboard场景),但我想从“ View B ”更改“ View A ”的size/origin 但是我下面的代码不起作用, view保持不变:

代码从“ View B ”添加到viewDidLoad

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

如果有人可以帮助我,我将非常感激:)

我想从“视图B”更改“视图A”的大小/来源

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

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

假设这些视图具有单独的控制器,其父对象为AppDelegate,您将需要将该消息转发给父对象并从那里处理它。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM