2015-12-01 178 views
1

我想隱藏鍵盤,如果用戶點擊一個文本框。有人有想法如何在swift 2中做到這一點?iOS隱藏鍵盤觸摸textfield swift 2

+1

我沒有明白你的想法。你不想讓你的文本域被用戶選中? –

+0

它應該由用戶選擇,但我不想顯示鍵盤。而不是我想要顯示一個選擇器的鍵盤。我知道如何用按鈕做到這一點,但我想要一個文本框,這樣我就可以將文本框中的選擇器的值 – Philipp

+2

@Philipp按鈕仍然可能是一個更好的選擇,因爲您可以在選擇後輕鬆更改按鈕標題來自選擇器的東西。在文本字段上覆蓋默認行爲並不是一個好主意,但是如果您仍想這樣做,請考慮在文本字段上使用'inputView'屬性。 –

回答

4

務必將文本字段的委託,並在此UITextFieldDelegate方法返回false

func textFieldShouldBeginEditing(textField: UITextField) -> Bool { 
    return false 
} 

這將防止鍵盤顯示。您也可以放置代碼以在該方法中打開選擇器。

+0

**這是**我說的更好的方法... –

+0

是的,絕對。這使它更簡單。 – lukaivicev

+0

真棒作品就像一個魅力。謝謝 :) – Philipp

0

在屏幕上顯示文本字段並不意味着只有文本字段在那裏。您可以將文本字段作爲子視圖,禁止用戶交互。然後,添加一個透明按鈕作爲同一幀的同級視圖(確保它在前面)。點擊按鈕時,從用戶的角度來看,點擊文本字段,您可以顯示您的選擇器。

該文本字段還允許您設置inputView,從而直接支持顯示選取器視圖。

+0

這不是很優雅。一定有更好的方法。 –

+0

@NicolasMiari這是我添加的直接支持方式,只是需要獲取鏈接。根據所需的UI交互,多視圖方式可能非常有效。 – Wain