【发布时间】:2011-09-19 12:58:25
【问题描述】:
我在使用 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];
我已经坚持了一段时间,所以任何帮助将不胜感激......谢谢!
【问题讨论】:
-
我怀疑它应该像 [button addTarget:self action:@selector(topCellPressed:) forControlEvents:UIControlStateHighlighted];
-
但我不想要自我,我想要委托。正如我所说,该方法在委托中被调用就好了。
-
然后查看 cellBackgroudSelected.png 图像是否在您的资源文件夹中
-
是的,它就在那儿。我什至 NSLogged 看看它是否返回 nil 而它没有。
-
代码在自定义视图中!!???
标签: objective-c ios cocoa-touch uibutton