2012-02-10 44 views
1

我正在将.PNG导入xcode。图像具有透明度。当它在ID上的按钮上呈现时,除透明度之外的图像的所有内容都会变成白色。Xcode渲染.PNG图像全白

这是一个已知的问题?是因为我保存.PNG的方式吗?

感谢您的帮助!

+0

当在其他位置查看(如预览)时,.png的外观是否正确?如果您发布相关代码,可能会更容易发现问题。 – AtkinsonCM 2012-02-10 21:28:55

+0

等一下 - 你说的是UIButton还是UIBarButtonItem?听起来像后者...如果将图像加载到UIImageView中,图像是否正确显示? – 2012-02-10 22:02:34

+0

是的,图像在预览(在导入xcode中的图像之前)中看起来很好,但不是在界面生成器中,我在按钮属性中设置图像 – Vince 2012-02-10 22:11:01

回答

0

要在UIBarButtonItem中显示图像,需要用图像创建一个UIButton,然后将该按钮添加到UIBarButtonItem。否则,就像你刚才提到的那样,你只是得到大纲。

所以:

// Initialize the UIButton with your image 
UIImage *myImage = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"someImage" ofType:@"png"]]; 
UIButton *myButton = [[UIButton alloc] init]; 
[myButton setImage:myImage forState:UIControlStateNormal]; 

//Then create the UIBarButton 
UIBarButtonItem *aBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:aButton]; 
0

这只是如何图像上UIBarButtonItems和UITabBarItems工作:您提供的图片仅用于透明度屏蔽。您可以使用UIImageView/UIButton来显示图像(如AtkinsonCM建议的那样),也可以创建一个可用作蒙版的图像。

我个人认为苹果的规则通常会更好,除非你有一个令人信服的理由不会(例如,用户体验会得到显着改善)。