2014-01-07 80 views
0

靜態單元格上有可能有一個UISearchBar,我真的需要靜態單元格,並且有40個這樣的靜態單元格,那麼我怎樣才能在其中使用UISearchBar? 我的單元格填充了一個按鈕(每個名稱都有另一個按鈕(每個單元格都有另一個名稱))。UISearchbar靜態桌面視圖

所以基本上我需要搜索每個單元格的按鈕文本,併爲此顯示包含搜索字符串的單元格。

有人可以提供幫助嗎? 感謝您的時間和精力。

+0

爲什麼你需要靜態細胞? – Wain

+0

因爲我在單元格上使用帶有按鈕的tableviewcontroller,所以當單擊按鈕時,每個按鈕的變量都會發送到下一個由該按鈕推動的視圖控制器。 – Ruub020

+0

什麼都不需要靜態單元格。如果靜態單元幫助你,它是一種方便。否則,他們是一個障礙,原型單元和配置數組可能是一個更好的解決方案。 – Wain

回答

1

當您使用靜態單元時,您可能已經知道,您不會在您的UITableViewController中實現委託方法。但是,如果您只想顯示一些靜態單元格(或更改顯示的單元格),則可以在執行所需的任何更改後實現委託方法並調用超級方法。

所以這個我的意思是...如果我有一個部分,3個單元格的靜態表格視圖,而且我只想顯示第一個單元格和最後一個單元格,我會執行- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section,並讓它返回2 。然後我會實現- (UITableViewCell *)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath,並且當它被第0行0的索引路徑調用時,我將調用第0行0的超類方法。當它被第0行第1行調用時,我會調用第0行第2行的超類。基本上,我將從將顯示的行的索引映射到故事板中定義的完整靜態表中的索引。

但是,我建議你根本不需要使用靜態單元,它會簡單得多。您無需處理此映射即可完成此項工作。如果您的單元格中有UITextField s,或者可能導致重用問題的某種其他類型的視圖,您可能會想要使用靜態單元格。但在你的情況下,動態表的使用會好得多,因爲如果一個單元在不同的索引處被重用,那麼在單元中沒有任何可能需要保存的內容。

如果你走動態表格路線,你只需要實現搜索欄的委託,當你鍵入你將存儲過濾結果列表存儲在一個實例變量或屬性存儲的數組,並重新加載表,使用該數組作爲數據源。