美文网首页
关于UIWindow的使用

关于UIWindow的使用

作者: Z_Lukas | 来源:发表于2015-10-21 19:10 被阅读90次

关于手动创建UIWindow的使用,最近做项目遇到一个很是头疼的问题,项目中涉及到登陆界面,由于这个等于是有有效期的,随意你在任何一个界面的触发事件中如果登陆失效了,就需要在当前界面弹出登陆界面,一般都是使用模态推出效果弹出登陆界面,但是这会涉及到一个很蛋疼的问题,比如你不知到用哪个导航推出合适,当然是由TabBarController 初始化四个导航控制器的时候所以这个时候手动创建另外一个UIWindow就方便多了,废话不说直接上代码

.h文件如下

@interface JYSharedLoginView : UIWindow
+(instancetype)sharedInstance;
-(void)showLoginView;
@end

.m文件如下

@implementation JYSharedLoginView
+(instancetype)sharedInstance{
    static id sharedInstance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[self alloc] initWithFrame:[[UIScreen mainScreen]     bounds]];
    });
    return sharedInstance;
}
-(id)initWithFrame:(CGRect)frame{
    self = [super initWithFrame:CGRectMake(0, ScreenHeight, ScreenWidth, ScreenHeight)];
    if (self) {
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight)];
        label.backgroundColor = [UIColor redColor];
        [self addSubview:label];
        UIButton *button = [UIButton buttonWithType:(UIButtonTypeCustom)];
        button.frame = CGRectMake(0, 100, 100, 100);
        button.backgroundColor = [UIColor blueColor];
        [self addSubview:button];
        [button addTarget:self action:@selector(butonAction) forControlEvents:(UIControlEventTouchUpInside)];
    }
    return self;
}
-(void)butonAction{
   
    [UIView animateWithDuration:1.0 animations:^{
        self.frame = CGRectMake(0, ScreenHeight, ScreenWidth, ScreenHeight);
    } completion:^(BOOL finished) {
        [self resignFirstResponder];
        self.hidden = YES;
    }];

}
-(void)showLoginView{
    [self makeKeyWindow];
    self.hidden = NO;
    [UIView animateWithDuration:1.0 animations:^{
        self.frame = CGRectMake(0, 0, ScreenWidth, ScreenHeight);
    
    } completion:^(BOOL finished) {
    
    }];
}

相关文章

  • 关于UIWindow的使用

    关于手动创建UIWindow的使用,最近做项目遇到一个很是头疼的问题,项目中涉及到登陆界面,由于这个等于是有有效期...

  • UIWindow的基本使用

    二、使用UIWindow 1、简介在iOS App中,UIWindow是最顶层的界面内容,我们使用UIWindow...

  • UIWindows介绍

    简介 UIWindow 是最顶层的界面容器,下面介绍一些关于它的使用技巧在iOS App中,UIWindow是最顶...

  • UIWindow 原理与巧妙使用 makeKeyAndVisib

    - UIWindow 简介- UIWindow 概述- 我们可以使用 UIWindow 来作什么?- makeKe...

  • iOS关于UIWindow

    UIWindow简介: 在iOS App中,UIWindow是最顶层的界面内容,我们使用UIWindow和UIVi...

  • iOS --- UI 简单总结

    代码创建UIWindow对象 Xcode7之后使用代码创建UIWindow对象: //创建UIWindow对象 s...

  • iOS-UI篇-UIWindow

    一. 关于UIWindow UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow...

  • 使用UIWindow

    UIWindow并不包含任何默认的内容,但是它被当作UIView的容器,用于放置应用中所有的UIView。UIWi...

  • UIWindow的使用

    APP从后台模式进入前台后打开指定页面 需求:前段时间在开发项目的时候,有一个需求,因为APP的一些信息比较敏感,...

  • UIwindow的使用

    1. UIWindowLevel 让UIView 和 UIWindow透明不遮挡下放操作的方法 设置父视图的的透明...

网友评论

      本文标题:关于UIWindow的使用

      本文链接:https://www.haomeiwen.com/subject/tphthttx.html