2013-10-04 18 views
0

我有一個自定義的UITableViewCell,看起來像下面。因此,當用戶開始輸入內容時,另一個tableview將從文本框的底部延伸到最多5個自動完成結果。如何獲得一個UITableViewCell的子視圖到小區邊界的外部延伸

所以我有一個tableviewcell在其內容視圖中有另一個tableview。嵌套tableview的高度爲0,直到用戶開始搜索,然後它增長以顯示最多5個結果。我希望嵌套的tableview能夠在其父視圖之外增長,但它正在被裁剪。

帶有自動完成結果的tableview在tableview單元格的邊緣被截斷。我試過設置剪輯子視圖和剪輯,將幾乎所有的屬性都限制爲「否」,並且它仍然不顯示在單元格內容視圖之外。

這是發生了什麼:

cell picture 2

有4個,我可以滾動到法國後,更多的結果,但嵌套的tableview顯然是由它下面的下一個實現代碼如下細胞截止。

我設置:tableviewcell的contentview剪輯子視圖爲NO,主tableviews剪輯子視圖設置爲NO,嵌套tableview的剪輯到界限設置爲NO。

是否有可能讓這個嵌套tableview能夠增長到其父視圖(cell.contentview)之外?

回答

2

您可以讓它在單元格邊界之外生長(通過clipsToBounds = NO),但是它超出其超視圖邊界的事實將使用戶無法點擊任何單元格。

你可以做兩件事情:

  1. 使細胞生長足以使用戶實際上可以輕敲桌面視圖中的單元。
  2. 將結果表視圖添加到您的視圖控制器視圖(即原始表的位置)並將其與單元格中的文本字段對齊。這樣它就可以點擊並完全可見。
+1

我會推薦選項#2。但也要確保您智能地處理文本視圖和結果視圖之外的水龍頭或滾動。如果用戶在顯示結果視圖時滾動會發生什麼情況? OP可以允許結果視圖保持固定到單元格,滾動開始時關閉結果視圖,或禁用滾動直到結果視圖關閉。這是UX的決定。 –

+0

是的我正在考慮做第二個選項,但希望有辦法讓它包含在tableviewcell中,因爲我希望結果tableview與主表視圖一起滾動(並保持包含在自定義中的邏輯細胞)。如果我將它添加到視圖控制器與原始表,它將在一個靜態位置。我想我將不得不關閉滾動的主表視圖,而結果表是可見的。謝謝 – rbertsch8

+0

克雷格奧蒂斯有一個好點。要麼確保檢測到外層tableview中的滾動並關閉選項表視圖,或者更正tableview的位置以使其滾動。 (我會和第一個一起去,讓它像UIPopover一樣消失)。 – Ian

0

更簡單的方法是在上述單元格所屬的tableview上添加搜索結果表,根據用戶輸入的文本填充搜索表。該表的來源取決於用戶正在輸入的textview的單元格。基於textview didstartediting/end editing隱藏/取消隱藏此搜索表。

相關問題