簡體   English   中英

iOS 6的重點是什么 - (BOOL)應該是什么?

[英]What's the point of iOS 6 - (BOOL) shouldAutorotate?

據我所知,iOS 6上的正確做法是編寫這樣的代碼來處理自動旋轉:

// iOS 6
- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

而不是寫作

// pre-iOS 6 support
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    BOOL retVal = UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
    return retVal;
}

說實話,我認為iOS 6之前的版本要清楚得多:我不明白有兩種方法可以處理自動旋轉,特別是因為我看過-(BOOL) shouldAutorotate在所有例子中都返回YES 我錯過了什么嗎?

新API允許您保存呼叫以獲取當前設備方向:兩個問題,即

  • 無論新方向如何,應用程序是否應自動旋轉,以及
  • 設備支持的方向是什么

通常是靜態回答,而不是打電話來檢查當前的方向。 當屏幕具有由不同視圖控制器控制的多個視圖時,節省變得更加重要。

由於iOS正在調用應用程序的shouldAutorotate來響應加速度計的事件,因此它已經知道新的方向; 如果你的應用回答'是',那么iOS可以根據支持的列表檢查當前方向,並在沒有你的應用查詢當前方向的情況下做出決定。

在不太可能的情況下,您的應用需要根據新的方向決定自動輪換,新的API並不比舊的API差,所以這是一個“勝利”的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM