我尝试检查当前呈现的视图控制器的UIInterfaceOrientation,但由于某些原因,它总是返回横向。
UIInterfaceOrientation currentOrientation = (UIInterfaceOrientation)[[UIApplication sharedApplication] statusBarOrientation];
if (currentOrientation == UIInterfaceOrientationPortrait){
self.scrollView_.colMargin = 50;
} else {
self.scrollView_.colMargin = 130;
}知道为什么吗?
发布于 2012-07-06 01:44:19
您可以按如下方式检查方向:
UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];
if( orientation == UIDeviceOrientationPortrait ) ...发布于 2012-09-15 00:35:09
从iOS UIDevice类参考中:
orientation
返回设备的物理方向。(只读)
讨论
除非通过调用beginGeneratingDeviceOrientationNotifications.启用了方向通知,否则此属性的值始终返回0
所以你需要做一些类似的事情:
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];然后别忘了
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];when you viewDidUnload
发布于 2012-07-06 01:39:02
选角不是魔术。状态栏方向可以使用与界面方向不同的值。请改用当前视图控制器的self.interfaceOrientation属性。
https://stackoverflow.com/questions/11349557
复制相似问题