iphone - iOS5 UIButton 我应该尝试优化背景图片吗?

标签 iphone ios memory uibutton core-animation

我在一个 UIViewController 上有多达 16 个按钮。每个按钮都有一个自定义样式,带有 160x160 像素的背景 png 图像(针对视网膜显示按比例缩小)。按钮本身为 40x40、60x60 或 80x80。我希望 View Controller 能活很长时间。

我只想为这些按钮分配 3 种类型的图像(红色、黄色、绿色)。计划是重新分配图像以指示状态转换。目前我的用户界面是在界面生成器中构建的。 Interface Builder 是否足够聪明,可以意识到我正在尝试为这些按钮重复使用相同的图像,或者它会分配 16 个单独的图像,每个按钮一个?有些东西告诉我每个按钮有一个单独的 UILayer,它以某种方式获取图像。

谢谢!

最佳答案

它们都使用相同的图像。您可以通过使用此方法创建 UIButton 的子类来轻松测试它:

- (void)awakeFromNib
{
    NSLog(@"TestButton %p - background image %p %@", self, self.currentBackgroundImage, self.currentBackgroundImage);
}

将按钮设置为 UIButton 子类,运行并检查输出:

2011-11-06 13:36:41.877 tester[21909:f803] TestButton 0x68522a0 - background image <UIImage: 0xed2d630>
2011-11-06 13:36:41.878 tester[21909:f803] TestButton 0xed2f1e0 - background image <UIImage: 0xed2d630>
2011-11-06 13:36:41.879 tester[21909:f803] TestButton 0xed2f6a0 - background image <UIImage: 0xed2d630>

关于iphone - iOS5 UIButton 我应该尝试优化背景图片吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8029352/

相关文章:

iphone - iOS 上的自定义手势。 iPad

iphone - 如何在 iOS 中使用 3-D 纹理?

ios - 有没有办法查询 VoiceOver 转子模式?

ios - 安装 cocoa pod 时出错

ios - UICollectionView 重新加载不正确

iphone - 如何使开关转移到另一个 View Controller ?

iphone:如何同步 2 个 NSMutableArrays 的内容?

actionscript-3 - 离开和重新访问场景时,任何用户输入的更改都保持不变。能做到吗?

c - Memcpy 与 memset 耗时相同

c - 使用 fopen() 打开的文本文件的内容是否会在堆栈中?