0

有没有办法将 UIView 从函数(在这种情况下,在静态构建的库中)添加到视图,而无需为视图本身传递框架。

Paypal 的库实现了这一点,我想知道实施将如何进行。

我不想更改根控制器,我只想在当前控制器上添加我的视图。

以风格

[something addSubview:myNewView];

有些东西是我也无权访问的视图。

4

2 回答 2

2

是的。您只需使用默认init方法而不是initWithFrame:

MyView *mySubview = [[MyView alloc] init];
[otherView addSubview:mySubview];

请注意,这将导致 mySubview 的原点 (0/0) 帧大小为零,尽管它是不可见的。您可以稍后指定框架,一旦您知道它,或者 MyView 可以覆盖 init 方法并将默认框架传递给[super initWithFrame:defaultFrame].

于 2012-08-16T21:16:13.457 回答
1

虽然 DrummberB 的回答是正确的,但视图不会出现在任何地方,因为在没有框架的情况下初始化的视图默认为 CGRectZero 的框架。迟早您需要为视图分配一个框架。

于 2012-08-16T21:26:01.643 回答