gpt4 book ai didi

iphone - uitableview 上的按钮

转载 作者:行者123 更新时间:2023-12-03 21:21:24 26 4
gpt4 key购买 nike

我在 uitableview 上的按钮遇到问题。如代码中所示,当我单击每个单元格的按钮时,图像 Checked.png 应显示在按钮上。这工作正常。但是,当我滚动表格 View 时,表格顶部的选中图像消失。我该如何解决这个问题。有好心人可以帮我解决这个问题吗?

//table.m//

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//- (UITableViewCell *)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

static NSString *CellIdentifier = @"Cell";


UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

[[NSBundle mainBundle] loadNibNamed:@"TableCell" owner:self options:NULL];
cell = nibLoadedCell;

button *toggleControl = [[CheckBox alloc] initWithFrame: CGRectMake(270.0, 10.0, 60.0, 60.0)];
toggleControl.tag = toggleControlTag;
[cell.contentView addSubview: toggleControl];
[toggleControl addTarget:self action:@selector(Selected:) forControlEvents:UIControlEventTouchDown];

}

//button.m//

- (id)initWithFrame:(CGRect)frame {

if (self = [super initWithFrame:frame]) {
// Initialization code
self.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

[self setImage:[UIImage imageNamed:@"Uncheck.png"] forState:UIControlStateNormal];
[self addTarget:self action:@selector(checkBoxClicked) forControlEvents:UIControlEventTouchUpInside];

}
return self;

}

-(IBAction) checkBoxClicked{
if(self.isChecked ==NO){
self.isChecked =YES;
[self setImage:[UIImage imageNamed:@"Checked.png"] forState:UIControlStateNormal];

}else{
self.isChecked =NO;
[self setImage:[UIImage imageNamed:@"Uncheck.png"] forState:UIControlStateNormal];

}

}

最佳答案

您正在将按钮的状态存储在按钮中。这是错误的做法。该按钮只是状态的 View 。您需要将数据存储在其他地方,例如放在一个数组中,并根据该单元格的索引路径从数组中提取表格单元格的相关数据。

当有人按下您的按钮时,您可以在数据模型中设置一个 BOOL 来指示用户选择了此特定选项。

您的单元格将始终滚出 View ,这将导致单元格被重复使用,并且您的按钮将不再“有效”。因此,您需要针对您创建的每个单元格检查模型中该特定数据部分的数据,并相应地填充 View (= 单元格)。

这不会对 read up on design patterns. 造成伤害

关于iphone - uitableview 上的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4211816/

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