有没有办法将函数(在本例中,在静态构建的库中)的 UIView 添加到视图中,而无需为视图本身传递框架。
PayPal的库实现了这一目标,我想知道实现将如何进行。
我不想更改根控制器,我只想在当前控制器上添加我的观点。
在风格
[something addSubview:myNewView];
有些东西是我也无法访问的视图。
是的。您只需使用默认的 init
方法而不是initWithFrame:
:
MyView *mySubview = [[MyView alloc] init];
[otherView addSubview:mySubview];
请注意,这将导致 mySubview 在原点 (0/0) 处出现一个大小为零的帧,尽管它是不可见的。您可以稍后指定框架,一旦您知道它,或者 MyView 可以重写 init 方法并将默认框架传递给 [super initWithFrame:defaultFrame]
。
虽然 DrummberB 的答案是正确的,但视图不会显示在任何地方,因为没有帧初始化的视图默认为 CGRectZero 的帧。 迟早需要为视图指定一个框架。