原文出處:@鋼鐵俠般的卿哥歡迎分享原創到伯樂頭條
按照本章中的指導,在支持的iPad設備上讓你的App運行iOS 9多任務。
當你新建一個Xcode 7模板工程時,是默認支持Slide
Over和Split View。如果你從老的工程升級到iOS
9,通過以下的步驟設置你的Xcode工程配置,從而讓App支持Slide Over和Split View:
注意:如果你一定不支持Slide Over和Split View,在你的Xcode 項目的Info.plist文件中顯式地加入UIRequiresFullScreen關鍵字並為其Boolean值賦上YES。你可以在屬性列表編輯器,或在目標編輯器的General>Deployment Info區域設置。
提示:通過設置Settings > General > Multitasking,用戶可禁用Slide Over和Split View 。如果你已經把一切都設置正確後,但仍無法使用這些特性,你可以檢查這項設置。
對於如何使用Slide Over和Split View,可以下載Lister (for watchOS, iOS, and OS X)示例代碼工程。
在 Slide Over and Split View中,主要和次要App都同時運行在前台,大多數情況下它們都是平等的。但只有主要App可以:
在Split View中,用戶控制你的應用程序窗口的大小。用戶通過旋轉設備(如在iOS的早期版本),或者水平滑動分割主要應用和次級應用程序的垂直分隔線來此操作。當兩種類型的變化發生時,系統以同樣的方式通知你的應用程序:窗口范圍界限的改變會伴隨改變根視圖控制器的Size Classes。(用戶移動分屏控件也會顯示App狀態過渡,在本節後面介紹。)
此前,iPad的水平和垂直Size Classes總是“regular”。隨著Slide Over 和 Split View出現,這些都已經有很大的改變。下圖顯示了你的App會遇到用戶操作iPad屏幕後不同的Size Classes。
為了App的內容正確顯示,你的App必須是自適應的。你的App設置應當:
這要求App中的LaunchScreen.storyboard文件必須支持Auto Layout。使用Xcode 7中的App模板創建的新工程會自動生成LaunchScreen.storyboard文件。學習如何添加這個文件到你的工程中,請參閱App Distribution Guide中的Creating a Launch Screen File內容。
正確地處理你的App的狀態轉換在iOS9中尤為重要。在Split View上下文中,每當用戶移動Split View分割器時,屏幕上的兩個應用程序都將移動到屏幕之外。甚至是當用戶改變主意並將分割器返回起點時,這種情況也會發生。
當用戶移動分割控件時,系統會使用ApplicationWillResignActive:協議方法調用App委托對象。
系統會重新調整你的App(屏幕外)以捕捉到一個或多個快照,確保當用戶最終釋放分隔控件時能提供流暢的用戶體驗。這是因為在用戶最終釋放分隔控件時無法預測應用的窗口最終邊界。更復雜的場景是設備的旋轉和移動分隔器同時進行。
保證你的App在大小改變、快照獲取處理中不丟失數據狀態或導航狀態。這就是當一個用戶改變App大小–移動分隔器並將其移動到初始位置最後釋放這個分隔器,這一系列的情況下,用戶期望App的狀態,導航位置(包括視圖、選擇、滾動位置以及其他等)能與用戶最初觸摸分隔器時一樣。充分使用ApplicationWillResignActive:調用保存用戶的狀態。詳情請閱讀App Programming Guide for iOS中What to Do When Your App Is Interrupted Temporarily一節。
如果用戶移動分隔控件直到屏幕邊界讓你的App消失,那系統會調用ApplicationDidEnterBackground:協議方法。
有關優雅其處理App狀態過渡的引導,請閱讀App Programming Guide for iOS中Strategies for Handling App State Transitions一節。
關於快照的處理信息,請閱讀Prepare for the App Snapshot,並參考UIView Class Reference中的Capturing a View Snapshot相關內容。
都說程序員的工資高,卻很少了解他們加班的痛苦,你是不是每次也在心裡想,按時間折算下來這個工資都給少了,於是會想在心裡吶喊,要麼漲工資,要麼漲工資,要麼漲工資,為什麼??因為不讓我們加班,這是不可能的!!!
想要顛覆自己的工作模式嗎?想要減少自己的加班時間嗎?加入我們,和我們一起探尋屬於我們程序員的自由模式吧!
一款針對程序員的原生APP,以共享知識技能為目的,以懸賞方式在線互動交互平台。
我們擁有高達近20人頂尖的技術團隊,以及優秀的產品及運營團隊。團隊領軍人物均在行業內有10年以上的豐富經驗。
現在我們正在招募原始的參與英雄,您將同我們一起改變程序員的工作方式,改變程序員的世界!同時也會有豐厚的報酬。作為我們的原始的參與者,您將同我們一起體驗這款程序員神器,您可以提出專業的建議,我們會虛心采納。每一個人都會是英雄,而您就會是我們需要的英雄!同時您也可以邀請您的朋友一起參與這場英雄的招募互動。
我們不會耽誤你太多時間,我們只需要您的專業看法,只要您從一個月內抽出1個小時,以後您每天都可以節省兩個小時,一切都是為了我們自己!
來?還是不來?
接頭人暗號:1955246408 (QQ)