日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

iphone:UISplitView

發(fā)布時(shí)間:2025/6/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iphone:UISplitView 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?UINavigationController?*nc = [self.splitViewController.viewControllers ?lastObject];

? ??self.detailViewController?= (SplitViewDetailViewController?*)[nc?topViewController];

有一個(gè)splitViewController屬性,其viewControllers為一個(gè)含兩個(gè)ViewController的數(shù)組,0-left,1-right in landscape

?

?

看文檔:https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISplitViewController_class/Reference/Reference.html#//apple_ref/doc/uid/TP40009277

The array in this property must contain exactly two view controllers. The view controllers are presented left-to-right in the split view interface when it is in a landscape orientation. Thus, the view controller at index 0 is displayed on the left side and the view controller at index 1 is displayed on the right side of the interface.

The first view controller in this array is typically hidden when the device is in a portrait orientation. Assign a delegate object to the receiver if you want to coordinate the display of this view controller using a popover.

?

創(chuàng)建過(guò)程:

在StoryBoard中讓Master Detail都Embed in navi..

然后先在AppDelegate的

didFinishLaunchingWithOptions中添加代碼,使得splitView的delegate為DetailViewController

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch.UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;UINavigationController *navigationController = [splitViewController.viewControllers lastObject];splitViewController.delegate = (id)navigationController.topViewController;return YES; }

在MasterVC中取得DetailVC

?

@property?(strong,?nonatomic)?DetailViewController?*detailViewController;

viewDidLoad:

? ??UINavigationController?*nc = [self.splitViewController.viewControllers ?lastObject];

? ??self.detailViewController?= (DetailViewController?*)[nc?topViewController];

?

self.detailViewController.detailItem?= ?xxxx;

?

在DetailVC中,當(dāng)然要遵循<UISplitViewControllerDelegate>

?

@property?(strong,?nonatomic)?id?detailItem;//in .h

@property?(strong, nonatomic)?UIPopoverController?*masterPopoverController;//in .m

?

- (void)setDetailItem:(id)newDetailItem { ? ? ? ?

? ??// Update the view.??

}

#pragma mark - Split view- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController {barButtonItem.title = @"列表";[self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];self.masterPopoverController = popoverController; }- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {// Called when the view is shown again in the split view, invalidating the button and popover controller. [self.navigationItem setLeftBarButtonItem:nil animated:YES];self.masterPopoverController = nil; }

?

? ? 若DetailVC不止是一個(gè)ViewController,我們可以使MasterVC遵循<UISplitViewControllerDelegate>,實(shí)現(xiàn)其委托方法;讓DetailVC遵循自定義的協(xié)議,其功能是使在land和port時(shí)隱藏\顯示 調(diào)出popover的barItem

?

然后在tableView:didSelectRowAtIndexPath: 中實(shí)例化相應(yīng)的DetailVC,

? ??UIStoryboard?*storyboard = [UIStoryboard?storyboardWithName:@"Storyboard"?bundle:nil];

? ??FirstDetailViewController *newDetailViewController = [storyboard instantiateViewControllerWithIdentifier:@"v1"];

? ? detailViewController = newDetailViewController;

?當(dāng)然也可以通過(guò)StoryBoard中的Segue代替實(shí)現(xiàn)實(shí)例化功能

?

本文轉(zhuǎn)自老Zhan博客園博客,原文鏈接:http://www.cnblogs.com/mybkn/archive/2012/05/12/2497266.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的iphone:UISplitView的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。