gpt4 book ai didi

objective-c - UIControlStateHighlighted 的奇怪问题

转载 作者:行者123 更新时间:2023-11-29 04:58:33 25 4
gpt4 key购买 nike

我在使用 UIButton 时遇到了一个奇怪的问题。我已将其背景图像设置为状态 UIControlStateHighlighted 但背景图像不会更改我单击它。目标/选择器仍然会被调用,但是,如果我删除目标/选择器,那么它就可以正常工作。

这是我的代码:

  UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(currentXPos, 0, minWidth + additionalSpacing, self.bounds.size.height)];
[button setBackgroundImage:[UIImage imageNamed:@"cellBackgroud.png"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"cellBackgroudSelected.png"] forState:UIControlStateHighlighted];
[button setTitle:text forState:UIControlStateNormal];
[button setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
[[button titleLabel] setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:14]];
[button setTag:i];
[button addTarget:delegate action:@selector(topCellPressed:) forControlEvents:UIControlStateHighlighted];
[self addSubview:button];

我已经被困在这个问题上有一段时间了,所以任何帮助将不胜感激......谢谢!

最佳答案

您使用了错误的目标指定类型。您需要一个 UIControlEvent 而不是 UIControlState 。您当前设置按钮的内容是垃圾,因为控制状态是与控制事件非常不同的位掩码。

名义上用于按下您想要的按钮UIControlEventTouchUpInside

[button addTarget:delegate action:@selector(topCellPressed:) forControlEvents:UIControlEventTouchUpInside];

令我惊讶的是编译器没有就此向您发出警告。

关于objective-c - UIControlStateHighlighted 的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7471324/

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