我這樣在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