1

我已经敲了将近半天的头,但仍然无法识别解决方案。如果这是一个蹩脚的问题,请原谅我......

目标:无论设备的方向如何,始终以横向模式显示我的图表。我希望我的 x 轴和 y 轴如图所示显示。x 轴比 y 轴占用更多空间来显示更多数据有多好,但没有提到作者是如何做到这一点的。

我现在所拥有的是:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}

同样在 中viewDidLoad,我尝试将我的视图旋转 -90 度:

self.view.transform = CGAffineTransformMakeRotation(-(M_PI * (90) / 180.0)); 

加载时,我的视图如下所示,Datex 轴和Calories Burnedy 轴在哪里。

查看负载图

当我旋转模拟器时,它看起来很奇怪:

查看模拟器旋转

有人可以告诉我如何调整这个东西吗?非常感谢。


*收到正确答案后编辑:我还要提到的一件事是,要解决我在图 2 中提到的问题,只需编写:

myHostingGraph.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);

这是一条非常重要的线,可以让定向工作更漂亮。参考来自:stackoverflow.com/a/10954432/437146

4

1 回答 1

1

为什么不将整个 UIViewController 设置为仅横向:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
   if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
              return (interfaceOrientation != UIInterfaceOrientationPortrait && interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
   }
    else return YES;
}

如果你真的想要,当他们把它变成肖像时,只需变换/旋转标签并将它移动到你的图表上方,IBOutlet UILabel *yourLabel; yourLabel.center=CGPointMake(yourGraph.center.x, 10);

于 2012-09-16T19:30:57.240 回答