これを試すことができますヘッダーで、次のようなさまざまなデバイスのマクロを定義できます
#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
#define IS_IPHONE_6 (fabs((double)[[UIScreen mainScreen]bounds].size.height - (double)667) < DBL_EPSILON)
#define IS_IPHONE_6_PLUS (fabs((double)[[UIScreen mainScreen]bounds].size.height - (double)736) < DBL_EPSILON)
そして、これの if および else 条件..
UIImageView *imageview;
if (IS_IPHONE_5){
imageview=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 45)];
imageview.image=[UIImage imageNamed:@"yourimage" ];
[self.navigationController.navigationBar addSubview:imageview];}
else if(IS_IPHONE_6){
imageview=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 375, 55)];
imageview.image=[UIImage imageNamed:@"select_albums6"];
}else if (IS_IPHONE_6_PLUS){
imageview=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 414, 55)];
imageview.image=[UIImage imageNamed:@"select_albums6"];
} else
{
// 3.5 inch
imageview=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 45)];
imageview.image=[UIImage imageNamed:@"select_album"];
}
次に、ナビゲーションサブビューを追加します
[self.navigationController.navigationBar addSubview:imageview];
注:このコードは ViewDidLoad および ViewWillAppear メソッドで記述されているため、ナビゲーションバーはカスタムサイズで設定されています...これが役立つことを願っています