2011-08-27 189 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