user440485
user440485

Reputation: 797

How to use 2 UITableView in a UIViewController?


Plz guide that how can i use 2 UItableView(or more) in a UIViewController & manage their
numberOfRowsInSection,......& other methods.
Any ideas for that??

Upvotes: 4

Views: 5087

Answers (5)

Sathish
Sathish

Reputation: 136

use tag.. for eg use table view1 as tag=0 and use table view2 as tag

Upvotes: 0

Altealice
Altealice

Reputation: 3572

Assuming that your actual problem lies in assigning the same object as UITableViewDelegate:

UITableViewDelegete methods pass the UITableView instance to it. You just need to filter out which tableview you need to operate on. For example:

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView == yourFirstTableView) {
        // <do whatever on first table view>...
    } else if (tableView == yourSecondTableView) {
        // <do whatever on second table view>...
    }
}

Upvotes: 7

taskinoor
taskinoor

Reputation: 46027

// tableView parameter is the tableView for which the delegate method is called
// u can compare this with your table view references
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    if (tableView == myTableView1) {
        // return data for myTableView1
    } else if (tableView == myTableView2) {
        // return data for myTableView2
    }
}

Upvotes: 3

Radavi
Radavi

Reputation: 11

why are you going to use two tableviews in UIviewcontroller?.It is possible,set tag to each of the tableview you are adding.u can check these tags in delegate methods and do changes.

Upvotes: 0

WrightsCS
WrightsCS

Reputation: 50697

if(tableView1){
    if(section==0)
        return 1; /*  1 row for section 0 in the first table.  */
    if(section==1)
        return 2; /*  2 rows for section 1 in the first table.  */
}

if(tableView2){
    if(section==0)
        return 3; /*  3 row for section 0 in the second table.  */
    if(section==1)
        return 2; /*  2 rows for section 1 in the second table.  */
}

Upvotes: 0

Related Questions