当程序中含有多个 view,需要在之间切换的时候,可以使用 UINavigationController,或者是 ModalViewController。UINabigationController 是通过向导条来切换多个 view。而如果 view 的数量比较少,且显示领域为全屏的时候,用 ModalViewController 就比较合适(比如需要用户输入信息的view,结束后自动回复到之前的view)。今天我们就看看 ModalViewController 的创建方法。
ModalViewController 并不像 UINavigationController 是一个专门的类,使用 UIViewController 的 presentModalViewController 方法指定之后就是 ModalViewController 了。
这里使用上两回做成的 CustomViewController(由UIViewController继承)来实现 ModalViewController 的实例。
首先,准备 ModalViewController 退出时的函数。调用 UIViewController 的 dismissModalViewController:Animated: 方法就可以了,如下所示:
-(void)dismiss:(id)inSender { [self.parentViewController dismissModalViewControllerAnimated:YES]; }
接下来,生成另一个 CustomViewController 的实例,用来表示 ModalViewController,并将其对应的 view 设置成红色。然后传递给 presentModalViewController: Animated: 显示 ModalViewController 的 view。
- (void)applicationDidFinishLaunching:(UIApplication *)application { controller = [[CustomViewController alloc] init]; [window addSubview:controller.view]; [window makeKeyAndVisible]; CustomViewController* controllerB = [[CustomViewController alloc] init]; controllerB.view.backgroundColor = [UIColor redColor]; [controller presentModalViewController:controllerB animated:YES]; [controllerB release]; }
编译执行以后,首先启动的是红色背景的 ModalViewController view、按下按钮后恢复到蓝色背景的通常 view 上。
也可以在显示 ModalViewController view 之前设置 UIViewContrller 的 modalTransitionStyle 属性,使其以动画形式显示。
controllerB.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
以上的实现只是单一地实现了 ModalViewController view 的功能,除了程序开始提醒用户一些信息外什么也做不了。另外由于是放入了 applicationDidFinishLaunching 中的原因,也不能反复的显示。另外,在 ModalViewController view 上设置的内容也不能反映到原来的 view 上。
|
分享到:
相关推荐
第七节 利用ModalViewController切换View.docx
这是基于 Document-Base Application 来切换view的方法,一般用于制作pdf或chm文档。
ViewFlipper实现滑屏切换View
android 实现 动态增加 view 需要的学习 本人亲测 可以运行
3d旋转切换view,类似旋转木马效果
ios应用源码之效果不错的view视图滑动切换效果 .
这是iPhone之手动切换View示例程序,具体参考: http://blog.csdn.net/htttw/article/details/7879534
3个view加在uiscrollview上,定时切换view,手动滑动时,暂停定时器,滑动停止后定时器开启。
button在底部的多个view切换 实例一正常切换.~~
代码精简,结构清晰,使用了include标签,希望对大家有帮助。
配置view 布局xml里: 代码设置: mLoopRotarySwitchView .setR(300)//设置R的大小 .setAutoRotation(true)//是否自动切换 .setAutoScrollDirection(LoopRotarySwitchView.AutoScrollDirection.left)//切换方向 ...
通过自定义BottomNavigationView +menu 快速实现底部栏切换 ,并可以结合ViewPager +Fragment ,代码量少,实现方便
实现SDI中不同VIEW的切换,内容很简单,供初学者学习参考。
本示例演示以动画方式切换View的组件ViewFlipper
Android ViewFlipper/ViewSwitcher/ViewPager/VerticalViewPager/ViewFlow用法案例实现 博客地址: http://blog.csdn.net/yelangjueqi/article/details/70239345
tab-view滑动切换tab-view滑动切换tab-view滑动切换tab-view滑动切换
3d旋转切换view类似旋转木马效果.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
两个Recyclerview之间利用View.onDragListener相互拖放item交换数据(Drag-on-Drop),并且可以拖放排序,同一个Recyclerview之间利用ItemTouchHelper进行拖放排序.
自动切换图片的 View 效果
用Fragment+Viewpager+BottomNavigationView实现界面切换,界面只有三个Fragment,可自行添加修改