Apple Watch デバイスサイズの取得方法について調べてみました。
アップル·ウォッチは、2つのサイズ38mmと42mmがあります。それぞれのデバイスサイズに応じたロジックを記述する必要があります。Apple Watch デバイスのサイズを確認するには、2つの方法しかありません。
WKInterfaceDevice currentDeviceのpreferredContentSizeCategoryからカテゴリーを取得。
WKInterfaceDevice currentDeviceのscreenBoundsからサイズを取得。
これでデバイスサイズに応じた画像をセレクト表示出来ます。
#import <WatchKit/WatchKit.h>
// WKInterfaceDevice Size
@property(nonatomic, readonly) CGRect screenBounds;
// WKInterfaceDevice Category
@property(nonatomic,readonly,copy) NSString *preferredContentSizeCategory;
// Apple Watch デバイスサイズ取得
- (void)logSizeCategory
{
// WKInterfaceDevice Size
WKInterfaceDevice *currentDevice = WKInterfaceDevice.currentDevice;
CGSize bounds = currentDevice.screenBounds.size;
// 38mm: (0.0, 0.0, 136.0, 170.0)
// 42mm: (0.0, 0.0, 156.0, 195.0)
if (bounds.width > 136.0){
NSLog(@"42mm big watch");
} else {
NSLog(@"38mm small watch");
}
// WKInterfaceDevice Category
NSString *sizeCategory = [NSString stringWithFormat:@"%@",
[WKInterfaceDevice currentDevice].preferredContentSizeCategory];
// 42mm UICTContentSizeCategoryL
if ([sizeCategory isEqual:@"UICTContentSizeCategoryL"]){
NSLog(@"42mm UICTContentSizeCategoryL");
}
// 38mm UICTContentSizeCategoryS
if ([sizeCategory isEqual:@"UICTContentSizeCategoryS"]){
NSLog(@"38mm UICTContentSizeCategoryS");
}
}
コメントをお書きください