gpt4 book ai didi

objective-c - 如何访问tableview单元格中的 subview

转载 作者:搜寻专家 更新时间:2023-10-30 20:26:48 24 4
gpt4 key购买 nike

如何访问tableview单元格中的 subview ?在“sliderValueChange”方法中,我需要访问单元格中的标签。

这是我的代码:

// 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];
[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);





}

关于objective-c - 如何访问tableview单元格中的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6859865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com