2016-06-10 36 views
0

目標如何讓DidSelectRow激活鍵盤?

我想有一個鍵盤(自定義),顯示當我點擊我的tableview細胞,並表示鍵盤編輯選定單元格中的標籤。

我已閱讀並試圖

堆棧溢出和其他搜索線程/教程

  1. A Swift example of Custom Views for Data Input (custom in-app keyboard)
  2. How to make custom keyboard only for my app in Swift?
  3. iOS 8: Creating a Custom Keyboard in Swift

除了機智h其他結果和搜索(也是這些線程中推薦的讀數),這些對於我按照需要的方式獲得鍵盤非常重要(這是應用程序特定的,我不想讓用戶安裝鍵盤以使用應用程序),但是,沒有解釋如何我可以「激活」沒有文本字段的鍵盤。

我的思考過程是這樣的:我將有一個帶有文本框的鍵盤,以便接收按下按鍵的輸入。該輸入將被髮送到選定單元格中的標籤。問題是在鍵盤上顯示沒有任何東西叫它...

爲什麼我不想在單元格中的文本字段:因爲我認爲讓tableview單元格激活鍵盤更聰明/優雅。我在其他應用程序中看到了這一點,我無法弄清楚它是如何完成的。

任何有關這個問題的幫助是非常感謝。我對編程完全陌生,正在使用Swift(所以沒有線索Obj-C或類似的東西)。

謝謝!

+2

我不明白你爲什麼不想要UITextField(沒有「白色背景,沒有邊框等),只是」更新標籤「,因爲你可以自定義UITextField,使它看起來像一個」標籤「,在'didSelectRowAtIndexPath:'中,只需做'[theCellTextField becomeFirstResponder]'(或類似的東西) – Larme

+0

標籤是不可編輯的,它不會顯示鍵盤,你想要做的是不可能的。一個文本字段,而不是一個標籤 –

+0

謝謝Larme和Duncan,所以我猜想沒有辦法調用單獨的視圖來選擇一個單元格嗎?一個視圖不能覆蓋整個窗口,並且可能有任何內容像按鈕和textfields? – TVDN

回答

0

經過圍繞其他網站的很多討論後,這是一個可恥的說,但我想要的其實是不可能的(如鄧肯)。出於某種原因,我認爲在編程中這個詞不存在,但可惜它在那裏。好吧,我做的工作解決此限制的方式被這裏說的意見,以及從資源材料我已閱讀:

我有兩個觀點:

  1. 的tableView - 這將有我想編輯一個值的項目列表。有多個標籤,其中之一將由用戶編輯。
  2. keyboardView - 允許用戶輸入的自定義鍵盤。

對於鍵盤,我使用了「自定義視圖的數據輸入的Swift示例」中所述的委託方法。這工作完美,並將數據發送到tableView根據keyWasTapped函數。

接下來是tableView。我在自定義單元格中有3個標籤,其中一個名爲valueLabel。我有一個文本框添加到我的故事板隱藏的tableview背後與該用戶互動,並在didselectrow我包括命令召喚鍵盤:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
     textField.becomeFirstResponder() 
} 

從那裏我會抓住從文本框的文本,更新我的自定義單元格中的UILabels。至少這樣我可以選擇一個單元格而不是文本框。所以考慮到我想要的答案是答案的組合,我認爲最好在這裏說出來。

感謝Sandeep和Larme的時間。

0

TVDN,

有一個文本框在細胞不是標籤:)創建一個自定義單元格創建一個IBOutlet到該類ffrom文本框在cellForRowAtIndexPath

let tableCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! myCell 
tableCell.yourTextField.resignFirstResponder() 

didSelectRowAtIndexPath

let tableCell = self.tableView.cellForRowAtIndexPath(indexPath) 
self.tableView.dequeueReusableCellWithIdentifier("cell") as! myCell 
    tableCell.yourTextField.becomeFirstResponder() 
+0

您好Sandeep,感謝您的快速回復!我一定會在我的應用程序中使用它,但是,我想用鍵盤輸入textfield。 s:當我在tableview中選擇一個單元格時,我怎樣才能調用一個視圖(不包括整個窗口)。這個視圖可以是任何東西,因此,我也可以在那裏製作鍵盤......也許我只是在這裏問錯誤的問題......? – TVDN