`

转】视图切换总结

    博客分类:
  • ios
 
阅读更多
1、利用ModalViewController切换View


当程序中含有多个 view,需要在之间切换的时候,可以使用 UINavigationController,或者是 ModalViewController。UINabigationController 是通过向导条来切换多个 view。而如果 view 的数量比较少,且显示领域为全屏的时候,用 ModalViewController 就比较合适(比如需要用户输入信息的view,结束后自动回复到之前的view)。
ModalViewController 并不像 UINavigationController 是一个专门的类,使用 UIViewController 的 presentModalViewController 方法指定之后就是 ModalViewController 了。
调用 UIViewController 的 dismissModalViewController:Animated: 方法就可以退出




在A里面直接跳到B中     [A presentModalViewController:B animated:YES];
在B中可以通过 返回到A  [self dismissModalViewControllerAnimated:YES]








UINavigationController 的 pushViewController: animated:
UIViewController的presentModalViewController: animated:


增加 Notification
post Notification




addSubview
b bringSubviewToFront
insertSubview b atIndex 0
removeview a








IPhone中视图切换,网上常见的方法都是用viewcontrol,在viewcontrol中插入不同的视图实现,见下面的代码
[self.view insertSubview:self.mainview.view atIndex:0]; 
只要切换不同的mainview就可以实现,网上常见的方法也是如此,不过我却想用另外一种方法,就是直接操作window,
在window中切换view,实现方法如下:
[viewController.view removeFromSuperview];
[window addSubview:viewset.view];
其中viewController是当前窗口,首先从 父窗口中移除,然后调用window addSubview方法即可。
不过使用第二个方法,出现了一个问题就是原来的主窗口显示正常,但是切换到第二个窗口是,窗口被电池栏给覆盖了,显得很奇怪,目前无解。






1.首先用pushViewController切换到下一个视图的,切换回来用popViewControllerAnimated
也就是:
切换视图:[self.tabBarController.navigationController pushViewController:_appMore animated:YES];
或者[self.navigationController pushViewController:_appMore animated:YES];
切换回来的时候用:
[self.navigationController popViewControllerAnimated:YES];

2.两个view之间切换:
假设aimview是目标视图
currentview是当前视图
首先移除当前view
[currentview.view removeFromSuperview];
[self.view insertSubview:aimview.view atIndex:0]
分享到:
评论

相关推荐

    iphone 各种视图切换效果

    iphone 开发各种特效,包含了绝大部 页面切换展示的效果,总结的非常全面含有源码。

    可切换视图的单文档静态分割窗口

    可切换视图的单文档静态分割窗口总结

    ios之UIScrollerView滚动视图总结

    当你创建完滚动视图后,你可以将另一个视图的内容粘合到滚动视图的空白页上。这回创建一个滚动的内容窗口: [ scrollView addSubview:myView]; 你必须给出内容的实际大小,这样滚动视图才知道滚动的范围: scro

    在单文档程序中动态切换多个窗体的源码程序

    <br> 总结:此程序中关键的是SwitchToView函数,在此函数中,程序搜索所有当前文档的显示窗口来查找与CruntimeClass变量匹配的视图类。如果找到,该窗口被激活。通过与之类似的方法,还可以实现在多文档模式下...

    Iphone开发导航控制器实现视图的分层切换

    导航栏这个控件称为UINavigationController,常常用来作根视图控制器,生成对象后可以用该对象pushUIViewController的对象,这样该UIViewController的对象就加到导航条的下部了,可以给视图控制器加title,会显示在...

    放大小切换的视图效果

    该源码案例是放大小切换的视图效果,源码activity-transitions,一个讲解5.0中transition的demo,这个demo是作者关于transitions系列文章的总结。效果非常不错,必须在5.0上运行,依赖appcompat,cardview和...

    ViewPager总结

    ViewPager,goole SDK自带的一个附加包的一个类,可以用来实现屏幕间的切换 1、 首先要在布局文件里面加入viewpager对应的组件,将其放到想要滑动...2、 滑动切换的视图(以三个为例) 用布局文件来实现需要滑动的视图

    AI(illustrate)快捷键-课堂笔记,自己总结

    视图操作 1、 图层面板:F7 2、 切换屏幕模式:F 3、 打开文件:CTRL+O/CTRL+ALT+O:打开Adobe Bridge文件浏览器 4、 放大/缩小:ctrl+“+”/ ctrl+“-”,或者按住alt前后滑动滚轮,或者使用导航器面板 5、 按屏幕...

    实验一 AD17设计环境认识.docx

    利用DXP菜单查看版本激活情况,切换中英文菜单显示 4、 4.视图菜单下各功能 (1) 视图/工具栏:用于控制工具栏的显示和隐藏。如:视图/工具栏/没有文档工具 选中与否效果 (2) 视图/工作区面板:用于控制工作...

    Indesign快捷键

    一手资源,课堂笔记,自己总结 工具箱快捷键 1、 选择工具:V,其他工具情况下,按ctrl可临时切换选择工具。 2、 直接选择工具:A 3、 抓手工具:H,其他工具情况下,按空格键可临时切换到抓手工具(文字工具除外,...

    对vue中v-if的常见使用方法详解

    2- 进行两个视图之间的切换 下面我写了两个例子,是Vue官方的简单实例。 第一个实例实现了 type等于不同值,A,B,C 三个元素的展示情况。 第二个例子实现了,点击按钮实现两个视图的切换。 <!DOCTYPE html> &lt...

    软件测试质量保证:实验五 UFT功能测试工具使用报告

    4.在菜单栏中单击【关键字视图】按钮,查看【专家视图】,并在需要时在两种视图间做切换。 5.在做好相应的设置项后,点击【录制】按钮。 6.在点击按钮后,会弹出【录制和运行设置】对话框。在对话框中选择【Windows ...

    Android应用中使用Fragment组件的一些问题及解决方案总结

    Fragment不一定要向Activity的视图层级中添加View. 当某个模块需要获得Activity的生命周期回调的时候,就可以考虑通过Fragment来实现. 例如: DialogFragment, 调用show方法来显示一个Dialog(这个一个子Window,并不在...

    window徽章相关快捷键总结

    D`向左切换虚拟桌面 – `Win + Ctrl + ←`向左切换虚拟桌面 – `Win + Ctrl + →`关闭当前虚拟桌面 – `Win + Ctrl + F4`任务视图 – `Win + Tab `调出Emoji 表情 – `win + ;`锁定桌面 – `win + L`

    AndroidAnimationExercise:Android动画的各种实现,包括帧动画,补间动画和属性动画的总结分享

    AndroidAnimationExercise这是一个关于Android中各种视图的集合,里面包含自己的日常开发和博客总结中的代码。主要内容是Android动画,Android自定义视图相关的知识,包含一些常见应用中动画效果的模仿实例。随着...

    精通QTP——自动化测试技术领航

    1.4.1 QTP的两种视图及思维转换 70 1.4.2 总结 74 1.5 QTP精华—对象库(上)之基础攻略篇 75 1.5.1 引言 76 1.5.2 对象库的出现改写了软件测试历史 76 1.5.3 一个简单的实例介绍对象库原理、机制及操作流程 ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (1)针对多窗口类浏览器模式问题,指出并分析了该问题存在的原因,利用Activity的运行机制,通过Fragment栈对主要模块的Webview进行管理,实现对不同模块之间切换的控制。 (2)针对跨域数据交互问题,指出并分析了...

    经济数据分析实验报告.doc

    第一种 输入变量和数据建立数据文件,以"温州企业基本情况"数据文件为例 1、双击打开SPSS 17.0软件,在弹出的对话框中选择"输入数据" 2、切换到"变量视图",单击"名称"下的空格,输入"ID",单击"类型"下的空格,...

    NeoGAF线程总结器「NeoGAF Thread Summarizer」-crx插件

    这意味着您不必切换到仅引用视图,您可以像往常一样继续阅读线程并仍然跟踪对话。 在快速设置中添加了“填充页面”选项。 版本1.5.1.2更改日志*修正了一个阻止刷新的缓存页面显示的错误*修正了一个小错误*修正了内存...

Global site tag (gtag.js) - Google Analytics