开发者

How to access to subview in the cell of tableview

开发者 https://www.devze.com 2023-03-23 18:50 出处:网络
How to access to subview in the cell of tableview? In the method \"sliderValueChange\" I need to access to the label in the cell.

How to access to subview in the cell of tableview? In the method "sliderValueChange" I need to access to the label in the cell.

This is my code:

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {

        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.textLabel.font = [UIFont boldSystemFontOfSize:15];

    }
        cell.textLabel.text = @"Soglia";

        UISlider *slider = [[[UISlider alloc] initWithFrame:CGRectMake(174,12,168,23)] autorelease];
        slider.maximumValue = 70;
        slider.minimumValue = 5;
        [cell addSubview:slider];

        cell.accessoryView = slider;
        [slider addTarget:self action:@selector(sliderValueChange:) forControlEvents:UIControlEventValueChanged];
     开发者_StackOverflow   [slider release];

        UILabel *labelVal = [[UILabel alloc] initWithFrame:CGRectMake(218, 40, 30, 23)];
        labelVal.text = @"0";
        [cell addSubview:labelVal];

    return cell;

}

- (void)sliderValueChange:(id)sender {
    UISlider *theSlider = (UISlider *)sender;
    UITableViewCell *cell = (UITableViewCell *)theSlider.superview;
    UITableView *tableView = (UITableView *)cell.superview;

    //here I need to access to labelVal...

}


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

    if (cell == nil) {

        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.textLabel.font = [UIFont boldSystemFontOfSize:15];

            //slider
        UISlider *slider = [[[UISlider alloc] initWithFrame:CGRectMake(174,12,168,23)] autorelease];
        slider.maximumValue = 70;
        slider.minimumValue = 5;
        slider.tag=11;
        [slider addTarget:self action:@selector(sliderValueChange:) forControlEvents:UIControlEventValueChanged];

        [cell.contentView addSubview:slider];



            //label
        UILabel *labelVal = [[UILabel alloc] initWithFrame:CGRectMake(218, 40, 30, 23)];

        labelVal.text = @"0";

        labelVal.tag=22;

        [cell.contentView addSubview:labelVal];




            //      cell.accessoryView = slider;



    }
    cell.textLabel.text = @"Soglia";





    return cell;

}

- (void)sliderValueChange:(id)sender {

    UISlider *theSlider = (UISlider *)sender;



    UIView *cell = (UIView *)theSlider.superview;


    UILabel *label=(UILabel*)[cell viewWithTag:22];


    NSLog(@"label value is : %@ \n\n",label.text);





}
0

精彩评论

暂无评论...
验证码 换一张
取 消