IOS---IPAD開發及IPAD特有的特技

來源:互聯網
上載者:User

IOS---IPAD開發及IPAD特有的特技
iPad開發簡單介紹iPad開發最大的不同在於iPhone的就是螢幕控制項的適配,以及橫豎屏的旋轉。Storyboard中得SizeClass的橫豎屏配置,也不支援iPad開發。1.在控制器中得到裝置的旋轉方向在 iOS8及以後,螢幕就只有旋轉後螢幕尺寸之分,不再是到期的旋轉方向。 在iOS7及以前得到旋轉螢幕方向的方法

/** // UIInterfaceOrientation ,螢幕方向 UIInterfaceOrientationUnknown = UIDeviceOrientationUnknown, UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait, UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown, UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight, UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft */- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{// 即將旋轉執行動畫    NSLog(@"%s", __func__);}- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{// 即將旋轉    NSLog(@"%s", __func__);}在iOS8以後,螢幕就只有螢幕之分,即當螢幕的寬大於高就是橫屏,否則是豎屏。iPad螢幕只有 (1024 * 768)橫屏(768 * 1024)豎屏- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator{    // 1.判斷是否是橫屏    BOOL isLandscape = size.width == 1024;    // 2.設定Dock的寬度和高度    // 擷取旋轉螢幕動畫執行的時間    CGFloat duration = [coordinator transitionDuration];    [UIView animateWithDuration:duration animations:^{    }];}

 

2.iPad中Modal彈出控制器的方式和樣式Modal常見有4種呈現樣式 控制器屬性 modalPresentationStyle UIModalPresentationFullScreen :全螢幕顯示(預設)UIModalPresentationPageSheet 寬度:豎屏時的寬度(768)高度:當前螢幕的高度(填充整個高度)橫屏 豎屏 UIModalPresentationFormSheet :佔據螢幕中間的一小塊 橫屏 豎屏


 UIModalPresentationCurrentContext :跟隨父控制器的呈現樣式 Modal一共4種過渡樣式 控制器屬性 modalTransitionStyle UIModalTransitionStyleCoverVertical :從底部往上鑽(預設)UIModalTransitionStyleFlipHorizontal :三維翻轉UIModalTransitionStyleCrossDissolve :淡入淡出UIModalTransitionStylePartialCurl :翻頁(只顯示部分,使用前提:呈現樣式必須是UIModalPresentationFullScreen)UIModalPresentationCustomUIModalPresentationOverFullScreenUIModalPresentationOverCurrentContextUIModalPresentationPopover //iOS8之後過渡樣式pop樣式UIModalPresentationNone3. iPad特有的UIPopoverController的使用案例:情景① 在導覽列上添加leftBarButtonItem按鈕,然後彈出UIPopoverController 建立UIPopoverController控制器的內容控制器添加到UIPopoverController上1>設定內容控制器(並需先建立內容控制器) 強調UIPopoverController不是繼承UIViewController,也就不具備顯示功能,要設定內容,使用initWithContentViewController設定內容- (id)initWithContentViewController:(UIViewController *)viewController; - (void)setContentViewController:(UIViewController *)viewController animated:(BOOL)animated; @property (nonatomic, retain) UIViewController *contentViewController;2>設定尺寸 設定popView的大小(預設控制器有多大就顯示多大)(120, 44 * 3) UIPopoverController的方法popoverContentSize內容控制器中設定的方法 self.preferredContentSizeself.contentSizeForViewInPopover /ios7過時/3>設定在什麼地方顯示 調用方法/** *  彈出UIPopoverController的方法(一) * *  @param item            圍繞著哪個UIBarButtonItem顯示 *  @param arrowDirections 箭頭的方向 *  @param animated        是否通過動畫顯示出來 */- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated;情景② 在導航控制器的View上添加個按鈕,點擊,彈出一個UIPopoverController控制器,然後這個控制器再用導航控制器封裝,顯示二級控制器 1>調用方法/** *  彈出UIPopoverController * *  @param rect            指定箭頭所指地區的矩形框範圍(位置和尺寸) *  @param view            rect參數是以view的左上方為座標原點(0,0) *  @param arrowDirections 箭頭的方向 *  @param animated        是否通過動畫顯示出來 */- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated;2>控制器內,有自己的邏輯結構(和正常控制器一樣可以跳轉返回等)UIPopoverController消失, 方法 [Popover dismissPopoverAnimated:YES]4.iPad特有的UISplitViewController的使用a.masterViewController1>masterViewController(主要控制器)2>負責展示主要的菜單內容b.detailViewController1>detailViewController(詳情控制器)2>負責展示詳細內容 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.