ユニバーサルアプリにカスタムUITableViewCell
があり、iPhoneとiPadで異なるフレームを設定する必要があり、異なる向きを考慮する必要がありますが、デバイスの向きを認識できません。UIDeviceOrientation
間違った場所にありますか?UIDeviceOrientation
戻り0
ます。これはコードですCustomCell.m
-(void) layoutCellPortrait{
if(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPhone){
//......frame subviews iPhone
}else{
//........frame subviews Ipad
}
}
-(void) layoutCellLandscape{
if(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPhone){
//.....frame subviews iPhone
}else{
//.......frame subviews Ipad
}
}
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice]orientation];
NSLog(@"The orientation is è %d", deviceOrientation);//here return 0
if(deviceOrientation == UIInterfaceOrientationPortrait || deviceOrientation== UIInterfaceOrientationPortraitUpsideDown) {
[self layoutCellPortrait];
}
else if (deviceOrientation== UIInterfaceOrientationLandscapeRight){
[self layoutCellLandscape];
}
else if (deviceOrientation==UIInterfaceOrientationLandscapeLeft){
[self layoutCellLandscape];
}
[self.contentView addSubview:self.subviews];
}
return self;
}