使用uislider更改自定义tableview单元格标签的值

时间:2013-05-08 10:37:48

标签: iphone ios objective-c ipad uitableview

我正在使用带有滑块(m_CrtlSliderRating)和标签(m_CtrlLabelpositonName)的custum tableviewcell。我需要更改标签的文本相对于slidevalue已更改。下面是我尝试的内容

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CustumCell_GroupSlider *cell    =   (CustumCell_GroupSlider *) [tableView dequeueReusableCellWithIdentifier:@"cellA"];
        if  (cell == nil)
        {
            NSArray *topLevelObjects            =   [[NSBundle mainBundle] loadNibNamed:@"CustumCell_GroupSlider" owner:Nil options:nil];

            for (id currentObject in topLevelObjects)
            {
                if  ([currentObject isKindOfClass:[UITableViewCell class]])
                {
                    cell =  (CustumCell_GroupSlider *) currentObject;

                    break;
                }
            }
        }

        cell.accessoryType = UITableViewCellAccessoryNone;
        cell.m_CtllabelHeading.text =[ NSString stringWithFormat:@"%@", ObjIQuestions.m_strTitleEn];
            cell.m_CtrlLabelpositonName.tag=indexPath.row;
            cell.m_CrtlSliderRating.tag=indexPath.row;
            cell.m_CrtlSliderRating.minimumValue = 0.0;
            cell.m_CrtlSliderRating.maximumValue = (ObjIQuestions.m_muteArrOptions.count-1)*5;
            [cell.m_CrtlSliderRating addTarget:self
                                        action:@selector(GroupsliderValueChanged:)
                   forControlEvents:UIControlEventValueChanged];
}




-(void)GroupsliderValueChanged:(id)sender
{

    UISlider *ObjSlider = (UISlider *)sender;
    //How can i change the label value here i tried something but got error
}

以下是自定义类接口

@interface CustumCell_GroupSlider : UITableViewCell
{

    __weak IBOutlet UISlider *m_CrtlSliderRating;
    __weak IBOutlet UILabel *m_CtllabelHeading;
    __weak IBOutlet UILabel *m_CtrlLabelpositonName;
}
@property (weak, nonatomic) IBOutlet UILabel *m_CtllabelHeading;
@property (weak, nonatomic) IBOutlet UISlider *m_CrtlSliderRating;
@property (weak, nonatomic) IBOutlet UILabel *m_CtrlLabelpositonName;

如果有人有经验,请帮助我。

3 个答案:

答案 0 :(得分:0)

你有一个自定义单元格,所以为什么不放置

-(void)GroupsliderValueChanged:(id)sender
{
    // ---
    m_CtrlLabelpositonName.text = [NSString stringWithFormat:@"%f", m_CrtlSliderRating.value];
}

在自定义单元格中?在那里你也可以访问这个单元格所持有的标签:)

答案 1 :(得分:0)

-(void)GroupsliderValueChanged:(UISlider )*sender
{
     UITableViewCell *objCell = (UITableViewCell *)[yourTableView cellForRowAtIndexPath:sender.tag];
     objCell.m_CtllabelHeading.text = @"your text";

}

答案 2 :(得分:0)

使用

-(void)GroupsliderValueChanged:(UISlider )*sender
    {
         CustumCell_GroupSlider *c = (CustumCell_GroupSlider *)[tableView cellForRowAtIndexPath:sender.tag]
         c.m_CtllabelHeading.text = @"Slider Value";      
    }