2012-03-25 30 views
0

我有一個UITableView,我wan't添加的UITextField在桌子上錨定的UITextField,但我不想當表視圖滾動它滾動。我希望uitextfield保持最佳狀態。我查看了這些論壇上的一些以前的答案,但他們都談論.xib文件,並試圖用Xcode 4.3和故事板做到這一點。如果你能提供一些基本的代碼,我們將不勝感激:)IOS如何在一個固定的現在的位置

回答

2

您可以輕鬆地做到這一點。訣竅是你需要開始使用UIViewController而不是UITableViewController。

如果使用的是故事板,通過拖動一個UIViewController到畫布上開始。然後將UITextField拖放到視圖控制器上,並將其放在您想要的位置(即頂部)。接下來拖一個UITableView(的UITableViewController)到你的ViewController,並設置表視圖的框架,以涵蓋所有視圖控制器的看法除了視您的文本字段是頂部的部分(即你不」的一部分不想滾動)。然後將UITableViewCell從對象palate拖到您的表視圖上。在屬性檢查器中,表視圖單元格的標識屬性設置爲一些獨特

你做了這個故事板的場景應該是這個樣子後(「了myCell」或什麼的。):

enter image description here

接下來,您需要設置您的tableview的委託和數據源屬性。不要忘記這樣做。通過按住Ctrl鍵點擊表格視圖並從委託和數據源拖到視圖控制器來完成此操作。

最後,你需要實現在您的視圖控制器類表中的數據源和委託方法。在您的視圖控制器頭文件(.h)中,聲明你要實現的UITableViewDelegate和UITableViewDataSource這樣的:

@interface MyViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 

,然後實現在您的視圖控制器的實現.m文件所需的方法。至少您需要執行tableView:numberOfRowsInSection:cellForRowAtIndexPath:,並且可能需要執行tableView:didSelectRowAtIndexPath:以及其他可能的操作。

@implementation MyViewController 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    // return number of rows 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"]; 

    // set value(s) in your table cell here 

    return cell; 
} 
相關問題