Multiple UITableview in Single Viewcontroller
It will be the same as you do it with one table view, but you should check which tableview is currently using.
myTableView1.dataSource = self;...- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { if (tableView == myTableView1) { // your code 1 } else if (tableView == myTableView2) { // your code 2 } else if (tableView == myTableView3) { // your code 3 }}
Edit:
About brightness:
How to change brightness in iOS 5 app?
And about UISlider
it has minimunValue
and maximumValue
properties.
- (void) sliderChanged:(UISlider*)sender{ UISlider *slider = (UISlider*)sender; [[UIScreen mainScreen] setBrightness:slider.value];}
Edit:
slider.tag = 1;[cell addSubview:slider];...// when you need..indexPath = [NSIndexPath indexPathForRow:myRow inSection:mySecion];UISlider* slider = (UISlider*) [[self.tableView cellForRowAtIndexPath:indexPath] viewWithTag:1];
You always get a reference and can always check for which tableView delegate or dataSource method is called.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ if (tableView == self.tableView1) { return 1; } if (tableView == self.tableView2) { return 1; } if (tableView == self.tableView3) { return 1; }}
You don't gain anything by using same identifier for all tables. Use something like:
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{ if (tableView == self.tableView1) { static NSString *CellIdentifier1 = @"cellForTable1"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier1]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1]; } cell.textLabel.text = [NSString stringWithFormat: @"table1: %d.%d", indexPath.section, indexPath.row]; return cell; } if (tableView == self.tableView2) { static NSString *CellIdentifier2 = @"cellForTable2"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier2]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier2]; } cell.textLabel.text = [NSString stringWithFormat: @"table2: %d.%d", indexPath.section, indexPath.row]; return cell; } if (tableView == self.tableView1) { static NSString *CellIdentifier3 = @"cellForTable3"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier3]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier3]; } cell.textLabel.text = [NSString stringWithFormat: @"table3: %d.%d", indexPath.section, indexPath.row]; return cell; } }
//add tag in tableView .myTable1.tag = 200;myTable2.tag = 201;myTable3.tag = 202;- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{if (tableView.tag == 200){ return 1;}if (tableView.tag == 201){ return 1;}if (tableView.tag == 202){ return 1;}}