2012-09-16 47 views
1

我已經敲了將近半天的頭,但仍然無法識別解決方案。請原諒我,如果這是一個跛腳問題...如何將圖形旋轉或調整爲景觀?

目標:總是顯示我的圖形橫向模式,無論設備的方向。我想要顯示我的x軸和y軸,如this圖所示。 x軸很好地佔據了比y軸更多的空間來顯示更多的數據,但是沒有提到作者是如何做到這一點的。

我有uptill現在是:

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

而且在viewDidLoad,我試圖旋轉我的看法-90度:

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

上的負載,我的觀點看起來像下面,其中Date是x軸,並且Calories Burned是y軸。

View on Load Figure

當我旋轉模擬器,它提供了非常奇怪的樣子:

View on Simulator Rotation

可以請別人告訴我,我該怎麼調整這個東西?非常感謝。


*接收一個合適的回答後編輯: 還有一兩件事我想提的是,解決我在圖2中提到的問題,只寫:

myHostingGraph.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 

這是一個非常重要的使定位工作更加美觀。借鑑:stackoverflow.com/a/10954432/437146

回答

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);

+0

非常感謝。它像魔術一樣工作! :) – NightFury

+0

我還想提到的另一件事是,要解決我在圖2中提到的問題,只需編寫:'myHostingGraph.autoresizingMask =(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);'。這是使定位工作更加美觀的一條非常重要的線。參考:http://stackoverflow.com/a/10954432/437146 – NightFury