2011-05-09 69 views
2

嗨,只是想弄清楚如何將兩個不同的自定義uitableviewcells加載到我的uitableview兩個不同的部分...只是不知道如何進行......這裏是我目前的代碼如何返回兩個自定義uitableviewcells

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 2; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return 1; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    //Registration Button 
    static NSString *CellIdentifier = @"CustomRegCell"; 
    static NSString *CellNib = @"LogInCustomCell"; 

    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellNib owner:self options:nil]; 
     cell = (UITableViewCell *)[nib objectAtIndex:0]; 
    } 
    return cell; 

} 

///////新的嘗試.... :(如果你能叫的話..

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 2; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return 1; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    if (indexPath.section == 0) 
    { 
     //Registration Button 
     static NSString *CellIdentifier = @"CustomRegCell"; 
     static NSString *CellNib = @"LogInCustomCell"; 

     UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
     if (cell == nil) { 
      NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellNib owner:self options:nil]; 
      cell = (UITableViewCell *)[nib objectAtIndex:0]; 
     } 
     return cell;   

    } 
    else if (indexPath.section == 1) 
    { 
     //Registration Button 
     static NSString *CellButtonIdentifier = @"CustomButtonCell"; 
     static NSString *CellButtonNib = @"LogInCustomCell"; 

     UITableViewCell *cellButton = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellButtonIdentifier]; 
     if (cellButton == nil) { 
      NSArray *nibButton = [[NSBundle mainBundle] loadNibNamed:CellButtonNib owner:self options:nil]; 
      cellButton = (UITableViewCell *)[nibButton objectAtIndex:0]; 
     } 
     return cellButton;  

    } 
    return nil; 

} 

回答

3

使用indexPath變量的section屬性:

if (indexPath.section == 0) 
{ 
    // do this 
} 
else if (indexPath.section == 1) 
{ 
    // do that 
} 

部分編號基於它們出現的順序。您想要在tableView中顯示的第一部分將是0,依此類推。

+0

對,我試試其他如果..但是在做和如果它正在崩潰當我嘗試加載屏幕.. – tinhead 2011-05-09 01:42:45

+0

然後,你可能有第三部分,你不期待。我敢打賭,你得到一個錯誤,說這種方法不能返回零單元格。你可以發佈崩潰嗎? – 2011-05-09 01:58:24

+0

老實說,我不知道如何寫它,所以不知道錯誤..我會更新我的代碼,我做了什麼..它不給我一個錯誤,但它也不顯示其他自定義uitableviewcell ...我有一直在這一整天的工作,我只是腦死亡atm ..像不能直截了當...現在更新代碼。 – tinhead 2011-05-09 02:13:11

相關問題