設定 button.enabled = NO 會導致按鈕外觀變淡(預設行為)。若需禁用互動但保持原有外觀,改用 userInteractionEnabled = NO。
[button setUserInteractionEnabled:NO]; // 禁用觸控,外觀不變
// 之後恢復
[button setUserInteractionEnabled:YES];
| 屬性 | 互動 | 外觀 | 適用場景 |
|---|---|---|---|
| enabled = NO | 禁用 | 變淡(灰色) | 標準禁用狀態,視覺提示不可用 |
| userInteractionEnabled = NO | 禁用 | 保持原樣 | 自訂禁用樣式、臨時鎖定、教學遮罩 |
userInteractionEnabled 影響整個視圖樹,子視圖也會失去觸控回應。