我有一个小错误。每个按钮都有两个代码片段。一个是这样的:
-(IBAction)clickoneButton:(id)sender
{
[sender setBackgroundImage:[UIImage imageNamed:@"cnumber_1.jpg"] forState:UIControlStateNormal];
}
另一个是:
-(IBAction)oneButton:(id)sender
{
self.enteredPhoneNumberString = [self.enteredPhoneNumberString stringByAppendingString:[NSString stringWithFormat:@"%d", 1]];
[self updateFormattedPhoneNumberLabel];
[sender setBackgroundImage:[UIImage imageNamed:@"Number_1.jpg"] forState:UIControlStateNormal];
}
第一个设置为 Touch Down。另一个用于 Touch Up Inside。该应用程序看起来像手机的常规拨号器。所以第一个图像是一个浅蓝色按钮,第二个是一个深蓝色按钮,就像 iPhone 的拨号器一样。问题是当我按下按钮时,深色图像似乎仍然在 Touch Down 浅蓝色图像后面。它正在变成颜色较浅的图像,但阴影几乎就像深色图像通过它或其他东西透明一样。不知道如何解释它。如果您对 Touch Down 发生时为什么浅蓝色变暗有任何想法,我将不胜感激。谢谢
触摸前和释放后的按钮(正确)
Touch Down 按钮(无法正常工作)
触地按钮应该是什么样子
最佳答案
根据您提供的两段代码,您没有为按下按钮时设置图像。尝试更新您的代码以在加载 View 时使用以下内容:
// sets the background image for when the button is not pressed
[sender setBackgroundImage:[UIImage imageNamed:@"cnumber_1.jpg"] forState:UIControlStateNormal];
// sets the background image for when the button is pressed
[sender setBackgroundImage:[UIImage imageNamed:@"Number_1.jpg"] forState:UIControlStateHighlighted];
关于iphone - 在 iPhone 上更改背景图像的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8524579/