• IOS:兼容ios6和低版本


    viewDidUnload在ios6开始被弃用了,所以我们在这里处理内存警告的这类问题,这个时候我们就要把相应的处理放在

    didReceiveMemoryWarning中。

    - (void)didReceiveMemoryWarning 

    {

        [super didReceiveMemoryWarning];

        sortedNames nil;

        sortedValues nil;

    }

    但是如果我们新老版本都要支持的话,那么还需要再加些东西进去。

    - (void)didReceiveMemoryWarning 

    {

        [super didReceiveMemoryWarning];

        if([self isViewLoaded] && self.view.window == nil

        {

            self.view = nil;

        }

        sortedNames = nil;

        sortedValues = nil;

    }

    在ios6中还有一个比较重要的方法被弃用了,那就是

    shouldAutorotateToInterfaceOrientation

    这个方法用来控制屏幕的旋转,所以在ios6上,我们就需要用

    - (BOOL)shouldAutorotate
    {
           //return;
    }
    - (NSUInteger)supportedInterfaceOrientations
    {
       // return 
    }

    但是我们往往还要支持低版本的,所以在程序中,我们就需要保留之前的方法。

    但如果想要控制“UINavigationController”直接在Contoller中使用这个方法,将会不起作用,原因是ios6中“UINavigationController”并不支持- (BOOL)shouldAutorotate、- (NSUInteger)supportedInterfaceOrientations个方法,如果您想要控制其旋转,必须为其添加一个category,使其支持这个三个方法。

    @implementation UINavigationController (SupportIOS6)
     
    -(BOOL)shouldAutorotate
    {
        return [[self.viewControllers lastObject] shouldAutorotate];
    }
     
    -(NSUInteger)supportedInterfaceOrientations
    {
        return [[self.viewControllers lastObject] supportedInterfaceOrientations];
    }
     
    - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
    {
        return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation]; 
    }
    @end


     

  • 相关阅读:
    php八种常用函数
    已知二叉树的前序中序遍历,如何得到它的后序遍历?
    PTA_Have fun with numbers(C++)
    PTA_输入符号及符号个数打印沙漏(C++)
    Web安全之SQL注入
    南京邮电大学//bugkuCTF部分writeup
    修改或添加HTTP请求头
    第二次作业
    博客作业1
    linux python 串口
  • 原文地址:https://www.cnblogs.com/wqxlcdymqc/p/3214414.html
Copyright © 2020-2023  润新知