1.自定义控制器切换<一>

一.自定义控制器切换:在同一个控制器上,展示不同的控制器,类似于tabbar一样

二.怎么做?(问题解决步骤)

1.创建若干控制器:OneViewController TwoViewController .....

2.定义一个现实的控制器:

//定义:

@property (nonatomic, weak) UIViewController *showingVc;

self.childViewControllers= @[

[[ZSOneViewController alloc] init],

[[ZSTwoViewController alloc] init],

[[ZSThreeViewController alloc] init]

];

//或者

[self addChildViewController:[[ZSOneViewController alloc] init]];

[self addChildViewController:[[ZSTwoViewController alloc] init]];

[self addChildViewController:[[ZSThreeViewController alloc] init]];

3.核心步骤:3.1.移除现实控制器上的视图-->获取到要显示的控制器,并且赋值给显示的控制器-->将显示的控制器添加到主控制器上

// 移除其他控制器的view

[self.showingVc.view removeFromSuperview];

// 获得控制器的位置(索引)

NSUInteger index = [button.superview.subviews indexOfObject:button];

// 添加控制器的view

self.showingVc = self.childViewControllers[index];

self.showingVc.view.frame = CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height - 64);

[self.view addSubview:self.showingVc.view];

//知识点补充:

//将第一个控制器从childViewControllers数组中移除

[self.childViewControllers[0] removeFromParentViewController];

时间: 2024-10-10 14:52:41

1.自定义控制器切换<一>的相关文章

iOS开发之自定义控制器切换

iOS8以后, 苹果公司推出了UIPresentationController, 通过其(presentedController 和 presentingController)来控制modal控制器操作. 我对跳转 进行了封装, 只需要将单例对象设置为 VC的 transitioningDelegate! 自定义modal步骤: 1. 设置过渡代理 secVC.transitioningDelegate = [ROTransition sharedROTransition]; 2. 设置展示样式

自定义视图控制器切换(iOS)

在iOS开发过程中,通常我们会使用UINavigationController,UITabbarController等苹果提供的视图控制器来切换我们的视图.在iOS5之前,如果要自定义容器视图控制器很麻烦,比如你要考虑到子视图的生命周期,当设备旋转时的情况等,好在iOS5中苹果提供了添加视图控制器(addChildViewController)等管理视图控制器的API,这样我们就能使用此API来自定义自己的视图控制器了,这篇文章只要介绍如何使用此API实现UITabbarController的基

iOS_16_控制器切换_modal_代码方式

最终效果图: main.storyboard BeyondViewController.h // // BeyondViewController.h // 16_控制器切换方式1_Modal_通过代码方式 // // Created by beyond on 14-7-30. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import <UIKit/UIKit.h> @interface BeyondViewContro

iOS_17_控制器切换_TabBarController_通过storyboard方式

最终效果图: main.storyboard BeyondViewController.m中有一句关键代码,设置tabbarItem图片的样式(30*30) // // BeyondViewController.m // 17_控制器切换2_tabbarController // // Created by beyond on 14-7-31. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import "BeyondVi

IOS-Storyboard控制器切换之Modal(1)

Modal模式是指模态切换,新开的界面会挡住之前的界面,使之不能获取焦点. 创建一个singleView模板的程序,打开storyboard文件,拖动2个UIViewController到界面中,按住control,从按钮处直接拖动到第2个vc如图: 然后放开,选择modal模式:  意思就是只要点击按钮 就能从下到上弹出第2个界面 对于每个uiviewController,都可以设置其所对应的文件, 其头部显示的文字可在右边面板中设置: IOS-Storyboard控制器切换之Modal(1)

IOS-Storyboard控制器切换之Push(2)

Push是指头部为导航,底部为内容的控制器,点击顶部返回跳转于各个界面之间,如图正在跳转中的页面 从first>second页面 至于如何建立项目,storyboard不在赘述,Push比Modal多了一个控制器,各个页面的跳转(代码)实际上都是通过控制器跳转,该控制器为 UINavigatorViewController或其子类. 并且 设置了UINavigatorViewController后 还要设置其rootViewController.这相当于该UINavigatorViewContr

IOS-Storyboard控制器切换之TabBar(3)

TabBar与Push相反,他以底部为导航 以头部为内容区域,如图: 打开storyboard文件,创建一个UITabBarController文件到画板中,默认带了2个 UIViewController,根据需要拖动或者删除UIViewController, 如何关联他们,如图 : 并且 底部的样式由每个UIViewController样板决定,如图: IOS-Storyboard控制器切换之TabBar(3),布布扣,bubuko.com

iOS_18_控制器切换_NavigationController_push方式_传递数据

最终效果图: storyboard示意图: BeyondViewController.h // // BeyondViewController.h // 18_控制器切换_navigation_push_通过storyboard方式 // // Created by beyond on 14-7-31. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import <UIKit/UIKit.h> @interface Be

windows phone 8.1使用azure mobile services自定义控制器

在做windows phone 8.1的开发中,想把自己的服务器和数据库都搬到azure上. 但是windows phone 8.1不能直接添加wcf服务引用,需要将wcf的rest进行rest.感觉有点麻烦. 1.首先进入自己的azure mobile service.下载mobile service项目 2.在mobile service 项目Controllers文件夹中,右键,添加,控制器,选择azure移动服务自定义控制器 3.起个名字 例如我们起名字叫accessdb 4.在mobi