2010-11-03 29 views
0

#1似乎是最權威,最容易在互聯網上使用的技術論壇之一,所以我想,這將是最好的地方開始模糊,滾動到第二部分。我已經做了相當多的研究對這一具體問題,到目前爲止,我還沒有找到一個明確的答案,並希望有人在這裏將有一個解決方案或至少一個答案,爲什麼這是行不通的。這是用於xcode 3.2.4的iPhone SDK 4.1。無法獲得分組的UITableView時選擇器視圖

我有一個包含2個部分,在每個部分3行分組的表圖。通過設計,整個表格視圖在不被遮擋時可見。當用戶觸摸任何單元格時,會顯示一個選取器視圖,並且在選取器上進行選擇時,它們將反映在選定的表格視圖單元格中。這個選擇器視圖掩蓋了底部的三個單元,所以我想有底部電池向上滑動,並可見,但使用如下代碼沒事的時候發生了:

NSIndexPath* ip = [NSIndexPath indexPathForRow:0 inSection:1]; 

[tableView scrollToRowAtIndexPath:ip 
    atScrollPosition:UITableViewScrollPositionTop animated:NO]; 

有沒有編譯器錯誤或警告,我已經驗證它正在執行,並且在表格視圖中啓用了滾動功能。正如所預料的那樣,表格視圖不會滾動而是反彈,因爲所有單元格都已經可見。我想到了一些解決方法,但都不是很吸引人。一個是創建兩個單獨的表格視圖,但是這將涉及相當多的工作,因爲我已經進行了進一步的開發,以能夠底部部分滾動爲基礎。另一種可能的解決方案是將框架設置爲在從底部選擇時在頂部顯示選擇器,當從頂部選擇時則反之亦然。出於美學原因,我不太喜歡這個解決方案。我希望有人有解決方案或至少解釋爲什麼這不能按預期工作。

非常感謝, 湯姆

當表由選擇器視圖

回答

0

對,實現代碼如下不會滾動超出它所包含的細胞視野開闊。當呈現選擇器視圖時調整tableview的大小,使它們不重疊。

0

嘗試獲得的tableView的幀,然後移動這一點。

在的UITableViewController:

//change the height value to accomodate the pickerView 
CGRect newFrame = CGRectMake(0.0f, 0.0f,320.0f,240.0f); //guessing on height of 240 
self.tableView.frame = newFrame; 

當你完成後,只是把它放回去

CGRect oldFrame = CGRectMake(0.0f,0.0f,320.0f,480.0f); 
self.tableView.frame = oldFrame; 

你總是可以把它放在一個漂亮的動畫塊是向上或向下滑動。

祝你好運

+0

是的,謝謝你們的建議和快速回復。減少框架的大小是最好的解決方案。當然,做一些動畫會讓它看起來光滑。 -Tom – 2010-11-04 00:21:09

相關問題