2013-07-09 42 views
17

我只是有一個關於UIButtons/iOS的一般知識問題。隱藏的ios uibutton:這是否自動使按鈕被禁用?

假設你有一個UIButton。您將「隱藏」屬性設置爲YES。這使它不再可見,對吧?但我注意到,雖然它不再可見,但它也不再可點擊。那麼,這是否意味着隱藏設置= YES也會設置enabled = NO?

只是好奇。謝謝你們。

+0

因爲它不可見,你怎麼知道它不可點擊? – lakesh

+0

它肯定會更快地測試這個,而不是寫一個問題,並等待迴應;) –

+0

它更好奇的緣故 - 所以我想我不是那麼好奇 –

回答

28

UIButton和所有控制從UIViewhiddenbackgroundColor繼承共同屬性等

UIView

類參考說,如果任何視圖隱藏那麼就不會接收輸入事件的UIView

類參考說:

隱藏視圖從其窗口中消失並沒有收到輸入 事件。然而,它仍然在其超級瀏覽的子視圖列表中,並且 像往常一樣參與自動調整。隱藏子視圖的視圖有 隱藏這些子視圖和 可能具有的任何視圖後代的效果。這種效果是隱含的,不會改變接收者後代的隱藏狀態。

你可以通過Here找到。

+1

謝謝你。所以 - 我想這引出了一個問題:「啓用」和 「userInteractionIsEnabled」之間的區別究竟是什麼? –

+1

'enabled'不是'UIView'的屬性。它是'UIButton'的私有財產。而'userInteractionEnabled'是'UIView'的屬性,它由'UIButton'繼承。如果'userInteractionEnabled'設置爲'NO',那麼它將禁用該視圖或按鈕的'UITouch'事件,而'enabled'將禁止輸入而不是'UITouch'。 –

+0

希望它能回答你的下一個問題。 –

0

不確定。最好的方法來找出將是一個NSLog返回按鈕。隱藏

1

是的,你不能觸摸按鈕,當它隱藏。如果你想觸摸它,那麼你必須使它btn.hidden = NO;。隱藏意味着禁用用戶交互。

1

它的確如此。將按鈕隱藏屬性設置爲YES將禁用任何用戶交互。其他UI元素以及UIButton都是如此。