UITableView delegate methods

70,071

Solution 1

Make sure you set UITableview Delegate in either way - from NIB or programatially

Using NIB From Nib :-

enter image description here

Programatically :- enter image description here

then:-

-(void)viewWillAppear:(BOOL)animated
{
         tblService.delegate=self;
         tblService.dataSource=self;
         [super viewWillAppear:YES];
}

Use following delegates:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;    //count of section
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return [catagorry count];    //count number of row from counting array hear cataGorry is An Array
}



- (UITableViewCell *)tableView:(UITableView *)tableView
             cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *MyIdentifier = @"MyIdentifier";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

        if (cell == nil)
        {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                           reuseIdentifier:MyIdentifier] autorelease];
        }

        // Here we use the provided setImageWithURL: method to load the web image
        // Ensure you use a placeholder image otherwise cells will be initialized with no image
        [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://example.com/image.jpg"]
                       placeholderImage:[UIImage imageNamed:@"placeholder"]];
            cell.textLabel.text = @"My Text";
        return cell;
    }

Below use for set height of cell

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{

        return 80;

}

Below use for gatting particular cells data by selecting row this method called

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

        Yourstring=[catagorry objectAtIndex:indexPath.row];      

       //Pushing next view 
        cntrSecondViewController *cntrinnerService = [[cntrSecondViewController alloc] initWithNibName:@"cntrSecondViewController" bundle:nil];
        [self.navigationController pushViewController:cntrinnerService animated:YES];

}

Solution 2

I don't know if this method exist but if you need other methods in a UITableView delegate you can Create a new Category of UITableViewDelegate.

Share:
70,071
DD_
Author by

DD_

Programmer in multiple programming languages focusing on Mobile Application development. Likes: iOS, Swift, ObjectiveC, Javascript, HTML and CSS3

Updated on July 05, 2022

Comments

  • DD_
    DD_ almost 2 years

    I need a UITableView delegate method that need to be called from another function at compilation time...is there any default UITableView delegate methods that i can use? if not, please comment on how to add an extra delegate method in addition to the existing ones.

    Thanks in advance

  • Maulik Salvi
    Maulik Salvi about 7 years