1

我知道UIDeviceOrientation在 iOS 中有很多已解决的问题,但没有人为我工作。我想Widget在横向模式下制作一个居中的标签。

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) ||
    ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight))
{
     d = 516; //my var to change the Position (The Value is just a test)
}

由于某种原因,这对我不起作用......

提前致谢。

4

1 回答 1

0

我今天才为我的小部件解决了这个问题。定义方法

- (void)willAnimateRotationToInterfaceOrientation:(int)arg1

为您的 AppController。在里面,检查 arg1 对应于哪个方向

if (UIInterfaceOrientationIsLandscape(arg1)) {
    // you're in landscape mode
    float screenWidth = [UIScreen mainScreen].bounds.size.height;
}
else {
    // you're in portrait mode
    float screenWidth = [UIScreen mainScreen].bounds.size.width;
}

你可以在我的文件中看到我的实现。我通过查看WeeFacebook的代码发现了这一点。

于 2013-03-16T08:35:43.467 回答