我这样在cellForRowAtIndexPath中创建了switch。这是什么意思? initWithFrame:CGRectZero]
UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
CGRectZero等价于CGRectMake(0,0,0,0)。 但是,开关显示为正常大小。 我没有指定实际大小。 请向我解释上面的代码是如何工作的。
我这样在cellForRowAtIndexPath中创建了switch。这是什么意思? initWithFrame:CGRectZero]
UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
CGRectZero等价于CGRectMake(0,0,0,0)。 但是,开关显示为正常大小。 我没有指定实际大小。 请向我解释上面的代码是如何工作的。
UISwitch不可定制,这也适用于大小。
UISwitch覆盖initWithFrame:
并强制执行适合控件的大小。给定矩形的大小组件被忽略。
任何UIView对象都可以通过实现UIView的sizeThatFits:方法来覆盖帧大小。事实上,UIView class reference说:
一个UISwitch对象返回表示开关视图的标准尺寸
实际上UISwitch覆盖sizeThatFits一个固定大小的值:但效果是一样的。 – progrmr