从没有框架的类添加UIView

时间:2012-08-16 21:12:07

标签: iphone objective-c ios

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

Paypal的图书馆实现了这一点,我想知道如何实施。

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

的风格

[something addSubview:myNewView];

某些内容是我无法访问的视图。

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

虽然DrummberB的答案是正确的,但视图不会显示在任何地方,因为初始化的视图没有框架默认为CGRectZero的框架。迟早你需要为视图指定一个框架。