从没有框架的类添加 UIView



有没有办法将函数(在本例中,在静态构建的库中)的 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 的帧。 迟早需要为视图指定一个框架。

最新更新