2011-08-27 143 views
7

我这样在cellForRowAtIndexPath中创建了switch。这是什么意思? initWithFrame:CGRectZero]

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

CGRectZero等价于CGRectMake(0,0,0,0)。 但是,开关显示为正常大小。 我没有指定实际大小。 请向我解释上面的代码是如何工作的。

回答

6

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

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

+0

实际上UISwitch覆盖sizeThatFits一个固定大小的值:但效果是一样的。 – progrmr