这是什么意思? initWithFrame:方法CGRectZero]

时间:2011-08-27 15:04:13

标签: iphone

我在cellForRowAtIndexPath中创建了这样的开关。

UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero];

CGRectZero相当于CGRectMake(0,0,0,0)。 但是,正常尺寸可以看到开关。 我没有指定实际尺寸。 请向我解释上面的代码是如何工作的。

2 个答案:

答案 0 :(得分:6)

UISwitch不可自定义,这也适用于大小。

UISwitch会覆盖initWithFrame:并强制执行适合该控件的大小。忽略给定矩形的大小组件。

答案 1 :(得分:0)

任何UIView对象都可以通过实现UIView的sizeThatFits:方法来覆盖帧大小。实际上UIView class reference说:

  

UISwitch对象返回一个固定大小的值,表示交换机视图的标准大小