2013-03-19 101 views
0

我正在開發一個帶有最新SDK的iOS應用程序。它什麼時候將方向改變爲默認方向?

我的應用程序只支持橫向右向,它只有一個視圖控制器。我設置了唯一可用的方向修改myProject-info.plist

我想知道爲什麼這個代碼輸出肖像模式下的視圖的日誌,當我只支持風景右方向。

- (void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; 
    UIView *videoView = self.videoPreviewView; 
    NSLog(@"Video frame: %@", NSStringFromCGRect(videoView.frame)); 
} 

控制檯輸出:

Video frame: {{0, 0}, {320, 568}} 

我與AVCaptureVideoPreviewLayer工作,我需要設置它的框架,但是當我做它viewWillAppear:我得到肖像值,但orientation值景觀權。

是否有事件或任何類似的東西,當我在取向變爲橫向時被觸發?

該應用何時將方向更改爲默認方向?

回答

0

進入xCode,然後單擊屏幕頂部的項目名稱(在其下面帶有xcode LOGO)。 然後揭示了iPhone/iPad的開發信息,並選擇你想成爲可供用戶:)

+0

我說景觀權是唯一可用的方向,因爲我之前做過。對不起,這不能回答我的問題。 – VansFannel 2013-03-19 07:41:37

+0

只是爲了確保,只有風景權是「突出顯示」(黑色)的權利。 如果不工作,然後在每個視圖控制器複製此代碼:) - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)取向 { 返回UIInterfaceOrientationIsLandscape(取向); } – 2013-03-19 07:43:50

+0

是的,在我提出這個問題之前就完成了。 – VansFannel 2013-03-19 07:45:31

0

如果添加行方向:

[NSNotificationCenter defaultCenter]的addObserver:自我選擇:@選擇(orientationChanged)name:UIDeviceOrientationDidChangeNotification object:nil];

那麼每次方向改變時它都會調用-(void)orientationChanged;方法。然後,您可以這樣做:

-(void)orientationChanged { 
    if (UIDeviceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation) { 
     //device is portrait; 
    } 
    else { 
     //device is landscape; 
    } 
} 

然後你可以用它來確定你的觀點和安裝基於取向的佈局。

編輯: 您還可以檢查statusBar的方向返回的方向是否等於UIDeviceOrientationLandscapeLeft/LandscapeRight/Portrait/PortraitUpsideDown。

+0

我已經添加了你的代碼,'orientationChanged:'運行了兩次,UIDevice的方向總是正確的。 – VansFannel 2013-03-19 08:51:55

+0

orientationChanged被調用的次數要多於風景/肖像。它也明顯地檢查了很多中間方向。我在代碼中做的是存儲一個具有當前方向的變量,如果它與新方向相同,則退出該方法。 – Jsdodgers 2013-03-19 09:04:53

+0

感謝您的回答,但'currentOrientation = [UIApplication sharedApplication] .statusBarOrientation;'總是返回橫向正確的方向。問題是'currentOrientation = [UIApplication sharedApplication] .statusBarOrientation;'總是風景,但'UIView'在'viewWillAppear'上有縱向,我不知道它在哪裏改變風景。 – VansFannel 2013-03-19 10:45:54