我正在使用带有滑块(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;
如果有人有经验,请帮助我。
答案 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";
}