Multiple UITableview in Single Viewcontroller

ios, objective-c, uitableview, uiview, uiviewcontroller

Solution

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];

Problem

I have a `viewcontroller` in that i want to show 3 `tableviews`(because the content and the table properties are different). How do i add these delegate methodes for 3 tables in one `viewcontroller`? ``` - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [array1 count]; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {} ``` EDIT So what will i do if i want add a `uislider` to one table row using custom `cell` and when i slide the value i want to change the display brightness? ``` - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { if (tableView == _displayThemes) { return 1; } else { return 1; } } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if(tableView==_displayThemes) { return 1; } else { return 5; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; } if (tableView == _displayThemes) { cell.textLabel.text = [displaytheme objectAtIndex:indexPath.row]; return cell; } else { cell.textLabel.text = [fontlist objectAtIndex:indexPath.row]; return cell; } } - (IBAction)fontButton:(id)sender { _fontList = [[UITableView alloc]init]; [self.view addSubview:_fontList]; [UIView animateWithDuration:1.5 delay:0 options: UIViewAnimationOptionTransitionCurlUp animations:^{ _fontList.fram e= CGRectMake(0,800,320,200); } completion:^(BOOL finished){ _fontList.frame = CGRectMake(0,280,320,200); }]; [_fontList reloadData]; } - (IBAction)button:(id)sender { _displayThemes = [[UITableView alloc]init]; [self.view addSubview:_displayThemes]; [UIView animateWithDuration:1.5 delay:0 options: UIViewAnimationOptionTransitionCurlUp animations:^{ _displayThemes.frame=CGRectMake(0,800,320,200); } completion:^(BOOL finished){ _displayThemes.frame=CGRectMake(0,280,320,200); }]; } ```

Original source

Related problems