2014-04-25 56 views
0

是否可以使用一個UITableViewController多個UIViewControllers。如果是的話,怎麼可能,提前致謝。一個UITableViewController在多個UIViewcontrollers中

我有3個屏幕(UIViewControllers)與那些由具有相同UITablewView佈局。那麼,我可以爲所有這些屏幕創建一個UITableViewController,並且可以在所有屏幕(UIViewControllers)中使用它。如果是的話,請給我一些想法,並沒有必要使用定製單元

+0

的tableview中您可以使用相同的'UITableViewController'與要顯示一個根據數據不同的數據源。如果你想使用不同的細胞,你也可以做到這一點'的cellForRowAtIndexPath:' – Akhilrajtr

回答

0

如果你根本就不想執行兩次相同的委託和數據源的方法,做到這一點從它一個控制器和子等。

0

您似乎完全不瞭解UITableViewController究竟是什麼;它實際上是UIViewController的一個子類。

UIViewControllers不需要UITableViewController。如果您想使用UIViewController,則應手動實施UITableView

鑑於一的tableView需要一套委託和數據源,我認爲這可能是一個有點複雜,讓你重複使用許多ViewControllers相同的tableView。除非你很樂意把這項工作從源頭上分到一個單獨的課程或熱點展出。

0

是可能的,但你必須在所有3個視圖控制器中添加uiitableview。

這裏是一些例子..! enter image description here 集標籤到tableview中爲21

enter image description here

,並在tableview中實現文件做你實現這樣的

@implementation LCsampleTableView 

     UITableView *tableView1; 
- (id)initWithCoder:(NSCoder *)aDecoder { 

    // self = [super init]; 
    self = [super initWithCoder:aDecoder]; 

    if (self) { 

     tableView1 =(UITableView *)[self viewWithTag:21]; 
     [tableView1 setDelegate:self]; 
     [tableView1 setDataSource:self]; 


     //  [self myviewDidload]; 

    } 

    return self; 
} 

#pragma mark - Table view start 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return 2; 

} 




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



    //cell = myCellDeque; 
    if(cell == nil){ 
     //  cell = myCellDeque; 

     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"tblCell"]; 

     UILabel *lb1 = [[UILabel alloc] initWithFrame:CGRectMake(25, 6, 154, 20)]; 
     lb1.tag = 1; // Set a constant for this 
     lb1.font = [UIFont systemFontOfSize:9.0]; 
     [lb1 setTextColor:[UIColor whiteColor]]; 
     lb1.backgroundColor = [UIColor clearColor]; 

       cell.contentView.backgroundColor= [UIColor colorWithRed:7.0/255.0 green:91.0/255.0 blue:164.0/255.0 alpha:1] ; 

     [cell.contentView addSubview:lb1]; 


    } 


    return cell; 
} 


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 






} 



#pragma -mark tableDelete 

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 
    //Return YES if you want the specified item to be editable. 
    return YES; 
} 

// Override to support editing the table view. 
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 










} 



@end 

在所有三個控制器添加此tableview中使用的類,那麼你不必須在所有3個控制器中爲此tableview編寫代碼。希望它可以幫助

添加標籤這樣 enter image description here

+0

哪裏viewWithTag方法,我應該怎樣做viewWithTag方法 – Vishnu

+0

注意到這一LCsampleTableView類應該是的UIView的一個子類比你會得到它的方法viewwithtag – shujatAli

+0

我有一個情況在這裏選擇了行後,我需要導航到在tableview中的另一個視圖 - 控制 – Vishnu

相關問題