Home > プログラム > iPhoneOS2.2とそれ以前のバージョンの違い3

iPhoneOS2.2とそれ以前のバージョンの違い3

kuniです。

UIBarItemのプロパティ「enable」がありますが、
これをinterface builderからNOにしておくと、
OS2.1以降では勝手に半透明になってくれますが、
OS2.0では半透明になりません。(意外にもOS2.1でも半透明になりました。)

なのであらかじめ透明度を設定したpngを用意しておき、
UIBarItemのimageを入れ替える方法で回避しようかと思いきや、

なぜか下記のように、もう一度同じイメージをスクリプトで設定し直すと、
効くようになりました。

NSString* model = [[UIDevice currentDevice]systemVersion];
NSComparisonResult result_os = [model compare:@"2.0"];

if(result_os == NSOrderedSame){
//このバージョンの場合、ボタンが透明にならない。だが一度置き換えるとなぜか効くようになる。//
NSString *imgPath = [NSString stringWithFormat:@"%@/%@", [[NSBundle mainBundle] resourcePath] , @”btn_setting.png”];
UIImage *settingBtnImage = [UIImage imageWithContentsOfFile: imgPath];
settingBtn.image = settingBtnImage;
}

interface builderのバグか・・

kuni プログラム

  1. No comments yet.
  1. No trackbacks yet.