gpt4 book ai didi

ios - uibutton背景图像不改变 objective-c

转载 作者:行者123 更新时间:2023-12-01 20:04:28 25 4
gpt4 key购买 nike

我有自定义单元格类的表格 View 。

在单元格内,我有五个 uibuttons,在它的自定义类中,我为所有这些按钮制作了 socket ,并且只有一个函数可以像这样处理它们的点击事件。

- (IBAction)starClicked:(id)sender {
UIButton *btn = (UIButton*)sender;

switch (btn.tag){
case 501:
self.starOne = [UIButton buttonWithType:UIButtonTypeCustom];
[self.starOne setBackgroundImage:[UIImage imageNamed:@"day-time-temp-icon.png"] forState:UIControlStateNormal|UIControlStateHighlighted|UIControlStateSelected];
[self.starOne setTitle:@"23" forState:UIControlStateNormal];
[self.starOne setNeedsLayout];
self.starTwo = [UIButton buttonWithType:UIButtonTypeCustom];
[self.starTwo setBackgroundImage:[UIImage imageNamed:@"opening-time-icon.png"] forState:UIControlStateNormal|UIControlStateHighlighted|UIControlStateSelected];
self.starThree = [UIButton buttonWithType:UIButtonTypeCustom];
[self.starThree setBackgroundImage:[UIImage imageNamed:@"opening-time-icon.png"] forState:UIControlStateNormal|UIControlStateHighlighted|UIControlStateSelected];
self.starFour = [UIButton buttonWithType:UIButtonTypeCustom];
[self.starFour setBackgroundImage:[UIImage imageNamed:@"opening-time-icon.png"] forState:UIControlStateNormal|UIControlStateHighlighted|UIControlStateSelected];
self.starFive = [UIButton buttonWithType:UIButtonTypeCustom];
[self.starFive setBackgroundImage:[UIImage imageNamed:@"opening-time-icon.png"] forState:UIControlStateNormal|UIControlStateHighlighted|UIControlStateSelected];
break;
...

}
}

通过使用标签属性,我正在检查点击了哪个按钮,并且它工作正常,因为我已经使用断点检查了它。当我按下第一个按钮时,我想更改第一个按钮的图像。在第二个按钮上,我想更改第一个和第二个按钮的图像。这就像一个评级控制。我想用突出显示的明星形象来改变明星形象。

但下面的代码不起作用。我也尝试过设置 setNeedLayout 。但形象并没有改变。

编辑

这是我的行功能单元格。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
QuestionsCell *cell = [tableView dequeueReusableCellWithIdentifier:@"questCell"];
if(cell == nil){
cell = [[QuestionsCell alloc] init];
}
[cell customizeCellWithQuestions:[self.questionList objectAtIndex:indexPath.row] textSize:1 index:indexPath.row];
return cell;
}

这是我的 customizeCellWithQuestions我的 QuestionCellClass 中的函数。
-(void)customizeCellWithQuestions:(Question *)question textSize:(float)textSize index:(NSUInteger)index{
[self.questionTitleTv setText:[question.question capitalizedString]];
[self.questionIndexLbl setText:[NSString stringWithFormat:@"%lu",(unsigned long)index+1]];
self.backgroundColor = [UIColor clearColor];
self.contentView.backgroundColor = [UIColor colorWithRed: 213.0/255.0 green: 213.0/255.0 blue: 213.0/255.0 alpha: 0.0];
}

最佳答案

您需要单独为一种状态设置图像。

使用 OR运营商不会工作

    [self.starOne setBackgroundImage:[UIImage imageNamed:@"day-time-temp-icon.png"] forState:UIControlStateNormal];

关于ios - uibutton背景图像不改变 objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39304168/

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