`
啸笑天
  • 浏览: 3469306 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

UISplitViewController 代理方法

 
阅读更多

 

 

@protocol UISplitViewControllerDelegate

 

@optional

1、

// Called when a button should be added to a toolbar for a hidden view controller.

// Implementing this method allows the hidden view controller to be presented via a swipe gesture if 'presentsWithGesture' is 'YES' (the default).

- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc;

代理4返回YES时走此方法,一般实现横屏到竖屏动作:

  barButtonItem.title = NSLocalizedString(@"Presidents", @"Presidents");

    [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];

    self.masterPopoverController = popoverController;

 

2、

// Called when the view is shown again in the split view, invalidating the button and popover controller.

- (void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem;

1代理走后又要出现左边导航时调用,一般实现:

[self.navigationItemsetLeftBarButtonItem:nilanimated:YES];

    self.masterPopoverController = nil;

 

3、

// Called when the view controller is shown in a popover so the delegate can take action like hiding other popovers.

- (void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController;

这发生在portrait模式下,用户单击屏幕上方的按钮弹出导航UIPopoverController信息时走此方法。

 

4、

// Returns YES if a view controller should be hidden by the split view controller in a given orientation.

// (This method is only called on the leftmost view controller and only discriminates portrait from landscape.)

- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation NS_AVAILABLE_IOS(5_0);

一般不实现

 

@end

分享到:
评论

相关推荐

    IOS应用源码——UISplitViewBasic.rar

    - 自定义行为:了解如何通过重写UISplitViewController的代理方法来定制自适应行为,比如在不同屏幕尺寸下显示或隐藏特定视图。 4. **实际应用** - 多视图布局:UISplitViewController常用于构建类似邮件、日历等...

    ios侧边导航

    通过代理方法,可以在不同设备和屏幕方向下控制主视图和辅助视图的显示。例如,`splitViewController(_:collapseSecondary:onto:)`方法可以控制在缩小屏幕时如何合并主视图和辅助视图。 对于自定义动画和第三方库,...

    ipad开发搜索功能实现官方源码

    4. **代理方法**: 通过实现UISearchBarDelegate和UISearchResultsUpdating协议的代理方法,可以监听用户输入并更新搜索结果。比如`searchBar:textDidChange:`方法会在用户输入变化时调用,而`updateSearchResults...

    iOS笔试题031

    UITableView是iOS中常用的组件,它的功能实现离不开代理方法(delegate methods)和数据源方法(data source methods)。代理方法主要用于处理与用户交互相关的事件,比如返回tableView每行的高度,监听用户的点击...

    iOS笔试题.doc

    - 协议是用来定义一组方法的规范,通过 `optional` 关键字标记的方法是可选的,实现方可以选择不实现这些方法。 7. **NSObject 是大多数 Objective-C 类继承的根类,它没有父类**。 - `NSObject` 是Objective-C中...

    ios-CSCustomSplitViewController.zip

    6. **协议与代理**:CSCustomSplitViewController可能实现了委托协议,允许其他控制器与其通信,比如控制何时显示或隐藏子视图。 7. **代码组织**:良好的代码结构和模块化设计是任何项目的基础。在这个示例中,...

    IOS应用源码——SplitViewTest.rar

    1. **UISplitViewController的基本用法**:了解如何初始化和配置UISplitViewController对象,设置其代理以及与之关联的子控制器。 2. **主-详情视图模式**:学习如何将两个不同的UIViewController子类分别作为主...

    iPhone开发揭秘.pdf

    OpenFlow库的requestImageForIndex代理方法中,通过NSMutableArray的索引获取具体图片。 OpenFlow编程实现图片分页的功能时,图片的加载和显示需要特别注意,因为它涉及到图片的缩放和内存管理。开发者需要根据具体...

    iphone视图控制器例子

    6. **协议和代理**:视图控制器之间通信的一种方式是通过遵循协议并实现代理方法。这使得不同控制器可以相互响应事件,例如表单提交或数据加载完成。 7. **手势识别**:`UIViewController`可以添加手势识别器(如`...

    斯坦福大学开放课程:iOS开发教程2010年秋(Lecture 11)

    - **代理(Delegation)**:一种设计模式,通过它一个对象可以将某些职责委托给另一个对象来完成。 - **内存管理(Memory Management)**:Objective-C使用引用计数机制来管理内存。开发者需要理解并正确使用retain和...

    IOS应用源码之【类库与框架】-MGSplitViewController for iPad.rar

    通过实现这些代理方法,可以精确控制各个视图的显示和隐藏,以及响应用户的交互。 在实际开发中,MGSplitViewController可以无缝集成到Xcode项目中,作为CocoaPods或Carthage依赖引入。这样,你可以轻松地在自己的...

    ios-UITabBarController.zip

    - 通过代理方法监听标签切换:`class CustomTabBarController: UITabBarController, UITabBarControllerDelegate { ... }` - 实现`tabBarController(_:didSelectViewController:)`方法,当用户切换标签时,该方法...

    Swift Demo

    UITableViewController不仅处理数据源和代理方法,还能自动管理其包含的UITableView,简化了开发流程。 首先,我们需要创建一个UITableViewDataSource和UITableViewDelegate。这两个协议定义了如何填充表格视图以及...

    ios 导航侧滑

    3. 实现手势处理:在代理方法中,根据手势的状态计算菜单的偏移量,并相应地更新菜单视图的位置。 4. 页面切换逻辑:当用户选择某个菜单项时,可以使用`pushViewController:animated:`方法将对应的页面推入`...

    IOS应用源码之【类库与框架】MGSplitViewController for iPad.rar

    3. **自定义行为**:开发者可以通过设置和重写各种代理方法来调整分栏视图的行为,比如控制何时显示或隐藏细节视图,以及如何在主副视图间进行切换。 4. **强大的API**:MGSplitViewController提供了丰富的API,使...

    IOS应用源码——UITabBarControllerDemo.rar

    如果需要在标签切换时执行特定操作,可以重写`UIViewController`的`tabBarController(_:didSelect:)`方法,或者监听`UITabBarController`的`tabBar(_:didSelect:)`代理方法。 4. **隐藏或显示TabBar** 在某些情况...

    3.3-3.7-iOS导航控制器

    同时,导航控制器还允许你通过代理方法或KVO来监听导航栏的动画和状态变化。 在实际应用中,我们经常需要动态地改变导航栏的样式和内容,比如在特定视图控制器中隐藏导航栏、显示或隐藏返回按钮,或者在导航栏上...

    DemoCtrlVCCenter

    这通常通过使用容器视图控制器(Container View Controller)来实现,如UISplitViewController、UIPageViewController或者自定义的容器控制器。在这个"DemoCtrlVCCenter"中,开发者可能创建了一个自定义的视图控制器...

    滑动菜单 fixbug

    1. 解决滑动冲突:可以通过设置手势识别器的代理方法,根据手势的方向和范围来判断应该响应哪个元素的滑动事件。另外,可以使用` gestureRecognizerShouldBegin`方法来调整滑动手势的启动条件。 2. 优化菜单显示:...

    iOS游戏应用源代码——SlavaBushtruk-APSplitViewController.zip

    `APSplitViewController`作为主要的控制器,可能会通过代理方法、通知或者闭包来实现子控制器间的通信。 4. **自定义视图(Custom Views)**:为了实现独特的游戏效果,开发者可能会创建自定义的视图类,这些类继承...

Global site tag (gtag.js) - Google Analytics