模态视图和父视图之间转换的方法

1.模态视图的静态工厂方法调用:

+ (void)dismiss

{

UIWindow *window;

window = [UIApplication
sharedApplication].keyWindow;

if([window.rootViewController
isKindOfClass:[ASDepthModalViewController
class]])

{

ASDepthModalViewController *controller;

controller = (ASDepthModalViewController *)window.rootViewController;

[controller
dismiss];

}

}

2.调用实力变量的模态视图转化函数

- (void)dismiss

{

[UIView
animateWithDuration:kModalViewAnimationDuration

animations:^{

self.coverView.alpha =
0;

self.rootViewController.view.transform
= CGAffineTransformIdentity;

self.popupView.transform =
self.initialPopupTransform;

}

completion:^(BOOL finished) {

[self
restoreRootViewController];

}];

}

3.重新修改根视图控制器:

- (void)restoreRootViewController

{

UIWindow *window;

window = [UIApplication
sharedApplication].keyWindow;

[self.rootViewController.view
removeFromSuperview];

self.rootViewController.view.transform
= window.rootViewController.view.transform;

window.rootViewController =
self.rootViewController;

}

时间: 2024-10-29 19:11:25

模态视图和父视图之间转换的方法的相关文章

iOS10 UI教程子视图和父视图UI层次结构和Views继承

iOS10 UI教程子视图和父视图UI层次结构和Views继承 iOS10 UI教程子视图和父视图UI层次结构和Views继承,本节将讲解与UI层次结构和Views继承相关的内容,其中包括子视图和父视图.管理层次结构.视图和子视图的可见性.层次结构的事件等内容. 子视图和父视图 每一个UIView(或者是子类)的实例都可以与其它的视图使用父-子关系的方式进行连接.其中父视图被称为superview(超视图),孩子视图被称为subviews(子视图).一个视图可以有且仅有一个父视图,但是可以有多个

iOS一行代码将所有子视图从父视图上移除

原文链接: iOS一行代码将所有子视图从父视图上移除 简书主页:http://www.jianshu.com/users/37f2920f6848 Github主页:https://github.com/MajorLMJ iOS开发者公会-技术1群 QQ群号:87440292 iOS开发者公会-技术2群 QQ群号:232702419 iOS开发者公会-议事区   QQ群号:413102158

IOS子视图超过父视图frame后,无法交互响应

确定第一响应者 当用户触发某一事件(触摸事件或运动事件)后,UIKit会创建一个事件对象(UIEvent),该对象包含一些处理事件所需要的信息.然后事件对象被放到一个事件队列中.这些事件按照先进先出的顺序来处理.当处理事件时,程序的UIApplication对象会从队列头部取出一个事件对象,将其分发出去.通常首先是将事件分发给程序的主window对象,对于触摸事件来讲,window对象会首先尝试将事件分发给触摸事件发生的那个视图上.这一视图通常被称为hit-test视图,而查找这一视图的过程就叫

iOS 子视图响应父视图的点击事件

最近为了解决 点击子视图却依然会响应父试图的点击事件发现UITapGestureRecognizer上的一个代理方法: -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 如果返回no则不响应,因此我们可以根据isDescendantOfView:方法来判定一个视图是否在其父视图的视图层中.把我们不想让其响应的子视图拿出来判断一下,如果包含这个子

IOS 子视图获取父视图的控制器

UIResponder* nextResponder = [self.view.superview.superview nextResponder]; if ([nextResponder isKindOfClass:[UIViewController class]]) { uic = (UIViewController*)nextResponder; uic.hidesBottomBarWhenPushed = YES; [uic.navigationController pushViewCo

js获取iframe和父级之间元素,方法、属,获取iframe的高度自适应iframe高度

摘自:http://blog.csdn.net/kongjiea/article/details/38870399 1.在父页面 获取iframe子页面的元素 (在同域的情况下 且在http://下测试,且最好在iframe onload加载完毕后 dosomething...) js写法 a.同过contentWindow获取 也有用contentDocument 获取的 但是contentWindow 兼容各个浏览器,可取得子窗口的 window 对象.contentDocument Fir

C#中List和数组之间转换的方法

一.List转数组 (从List<string>转到string[]) List<string> listS=new List<string>(); listS.Add("str"); listS.Add("hello"); string[] str=listS.ToArray(); 二.数组转List (从string[]转到List<string>) string[] str={"str",&q

父视图与子视图

1,子视图在父视图上显示及响应触摸时间, 1,子视图的frame需与父视图关连 2,在父视图必须声明[self.subView superview]; - (UIImageView *)imageTom {     if (_imageTom == nil) {         UIImageView *imageTom = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];         _imageTom = im

Android dp和px之间转换 及 获取坐标

dp.px.sp转换 1 public class DensityUtil { 2 /** 3 * 将px值转换为dip或dp值,保证尺寸大小不变 4 * 5 * @param pxValue 6 * @param scale 7 * (DisplayMetrics类中属性density) 8 */ 9 public static int px2dip(float pxValue, float scale) { 10 return (int) (pxValue / scale + 0.5f);