iPhone 2G上的自定义UIButton图像
问题描述:
我有一个自定义的UIButton,里面有一个png。我在我的应用程序中有不少其中的一些,并且他们似乎在任何地方都能正常工作。iPhone 2G上的自定义UIButton图像
在一个位置,它们在UIView里面,它是一个UITableview的headerView。
每当我按下它们,只有在iPhone 2G的图像框变黑,而其余的UIButton(它有一个标题...)看起来不错。当你离开视图控制器并回来后,“按下”图像显示正常。
任何想法为什么?我的图像压缩在应用程序文件中。
谢谢!
更新#1: 我使用了一些代码,有人在这里提供了一个在背景颜色生成的图像,所以你可以把它通过backgroundImage属性使用。我使用它,这似乎是造成这个问题。每当我按下我的按钮,它就会使用我的图像,并在显示正确生成的图像时呈现黑色框而不是它。
- (UIImage *)imageWithColor:(UIColor *)color {
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
答
解决!
这行代码似乎导致iOS 3.1.3(我假设所有3.1)的问题。
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
一旦你使图案图像变大至少1个像素,你都很好。例如:
CGRect rect = CGRectMake(0.0f, 0.0f, 5.0f, 5.0f);
解决问题。
答
一个长镜头的位,但该按钮设置为“不透明”?一般来说,关闭它,除非事先知道它是不透明的。
试过了,没有工作。建议更新#1。 – schone 2010-08-16 01:25:07