2016-05-18 33 views
0

我遇到了一些Swift挑戰。Swift - 從另一個UITableViewCell訪問UITableViewCell

我有一個UITableView與原型單元格。 有3個單元 前兩個包含用戶填充的文本字段。 第三個包含一個提交按鈕。

非常簡單!

我的問題是隻有當兩個文本字段都包含文本時,才需要啓用提交按鈕。

如果頁面不是使用Table視圖構建的,而是像這樣構建的,並且需求現在正在改變並且會導致我的問題,那很容易。 這是一個安全問題/迴應頁面,因爲前兩個單元格在佈局方面是相同的,所以TableView方法是有意義的。

我的問題是,我不知道如何訪問其他單元格操作期間的第三個單元格按鈕。

基本上我有TextDidChange在Textfield單元格上的委託,但我無法訪問最後一個單元格中的按鈕來啓用它。

我可以很容易地有一個原型或委託,將價值或行動傳播給ParentViewController,但這並不能幫助我,因爲我需要訪問第三個單元格中的按鈕。

這裏最好的方法是什麼?

謝謝你的幫助!

+1

請發佈您的代碼。這些是在tableView中唯一的3個單元嗎? – rMickeyD

回答

1

那麼有很多方法可以做到這一點,我會給你一個的例子:

理念: 基本上你需要你的模型,以維持細胞的狀態(在這種情況下,文本框/按鈕佈局),然後每當textField更新時,您可以檢查它是否爲空,並更新按鈕單元格的模型以反映該模型(您可以調用reloadRowsAtIndexPaths,每當文本字段被更新時,在我假設最後一個單元格),在示例中檢查哪個單元格已被編輯,我使用標籤屬性。這將與任何問題長度一起工作)。

這裏我啓用了基於模型屬性的按鈕。但你也可以使用得到鈕釦電池(但你也需要更新模型,因爲如果發生在視圖刷新你就失去了控制開啓/關閉時,電池複用操作):

if let cellButton = self.tblSample.cellForRowAtIndexPath(NSIndexPath(forRow: sampleData.count - 1, inSection: 0)) as? ButtonCellClass{ 

} 

示例: https://github.com/Abreu0101/TableViewButtonDisable

+0

完美!我真的開始這樣做了!它完美的作品:)非常感謝你:) – julien

相關問題