美文网首页iOS 开发
viewWillLayoutSubviews和通知的使用机制

viewWillLayoutSubviews和通知的使用机制

作者: 不会打滚儿的狮子 | 来源:发表于2016-07-26 15:34 被阅读647次

做横竖屏最重要的是确定横竖屏响应的接口。目前我知道的有两种方式 :

1.使用通知。

  • (void)viewDidLoad
    {
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_orientationDidChange:) name:UIDeviceOrientationDidChangeNotification object:nil];

}

  • (void)dealloc {

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
    }

-(void)_orientationDidChange:(NSNotification*)notify
{
[self _shouldRotateToOrientation:(UIDeviceOrientation)[UIApplication sharedApplication].statusBarOrientation];
}

-(void)_shouldRotateToOrientation:(UIDeviceOrientation)orientation {
if (orientation == UIDeviceOrientationPortrait ||orientation == UIDeviceOrientationPortraitUpsideDown) {
// 竖屏
}else {
// 横屏
}
}
上述代码,一看就明白。
2.使用 viewWillLayoutSubviews
测试发现横竖屏切换的时候,系统会响应一些函数,其中 viewWillLayoutSubviews就是之一。

  • (void)viewWillLayoutSubviews
    {
    [self _shouldRotateToOrientation:(UIDeviceOrientation)[UIApplication sharedApplication].statusBarOrientation];
    }
    通过上述一个函数就知道横竖屏切换的接口了。
    注意:
    viewWillLayoutSubviews只能用在ViewController里面,在view里面没有响应。

相关文章

  • viewWillLayoutSubviews和通知的使用机制

    做横竖屏最重要的是确定横竖屏响应的接口。目前我知道的有两种方式 : 1.使用通知。 (void)viewDidLo...

  • 两个线程分别按顺序打印26个字母

    考察的主要是通知机制 1.使用对象wait和notify 相互通知 2.使用ReentrantLock

  • Linux内核notifier机制

    Linux内核使用通知链的机制在内核各子系统之间进行事件通知(注:无法用于内核态和用户态之间的事件通知)。 一、通...

  • 通知

    通知是使用观察者模式来实现的用于跨层传递消息的机制,传递方式为一对多 通知机制&原理 在NSNotificatio...

  • ios 生命周期.

    viewDidLoad -> viewWillAppear -> viewWillLayoutSubviews -...

  • 线程间通信

    等待/通知机制 线程之间不是独立的的个体,他们彼此之间可以相互通信和协作。 不使用等待、通知机制实现线程间通信 两...

  • 线程锁机制

    等待/通知机制 线程之间不是独立的的个体,他们彼此之间可以相互通信和协作。 不使用等待、通知机制实现线程间通信 两...

  • NSNotification通知的使用和多线程

    通知的使用 NSNotificationCenter通知中心是iOS程序内部的一种消息广播的实现机制,可以在不同对...

  • iOS NSNotificationCenter Appdele

    通知的使用 NSNotificationCenter通知中心是iOS程序内部的一种消息广播的实现机制,可以在不同对...

  • iOS通知机制的简单介绍

    通知机制 iOS程序内部通信机制.通知机制和委托机制不同,前者是一对多的对象之间的通信,后者是一对一的对象之间的通...

网友评论

    本文标题:viewWillLayoutSubviews和通知的使用机制

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