アプリが Retina 4 デバイスで実行されている場合、このUIImage
カテゴリを使用して正しいアセットを自動的に見つけます:
http://www.sourcedrop.net/FY53a14b0127f
サブクラスのメソッドでインスタンス化されている-568h@2x
場合、サフィックスを持つアセットを正しく見つけます。UIImage
UIView
init
-(id) init{
self = [super init];
if(self){
myButton = [UIButton buttonWithType:UIButtonTypeCustom];
[myButton setImage:[UIImage imageNamed:@"go_back_image"] forState:UIControlStateNormal];
[self addSubview:myButton];
}
}
ただし、UIImage
がクラスでインスタンス化されている場合didMoveToSuperView
、カテゴリはアセットを取得しません:
-(void)didMoveToSuperview{
if(self.superview != nil){
[myButton setImage:[UIImage imageNamed:@"otherImage"] forState:UIControlStateNormal];
[myButton setImage:[UIImage imageNamed:@"otherImageHighlighted"] forState:UIControlStateHighlighted];
}
}
UIImage
で作成された場合didMoveToSuperview
、通常サイズのアセットが表示されます...
何かご意見は?