zoukankan      html  css  js  c++  java
  • iOS:view.frame

    我们知道view.frame 是在当前view在父容器坐标空间中的。我在ipad的一个ViewController中只放一个view,View里面只放了个webView(界面Landscape),本想达到webview的contentSize,所以我在代码中添加:

    View Code
        NSLog(@"self.view.frame is %@",NSStringFromCGRect(self.view.frame));
        NSLog(@"self.webView.frame is %@",NSStringFromCGRect(self.webView.frame));
        NSLog(@"webView.scrollView.contentSize is %@",NSStringFromCGSize(webView.scrollView.contentSize));
        NSLog(@"webView.scrollView.frame is %@",NSStringFromCGSize(webView.scrollView.frame.size));

    但是输出确为:

     self.view.frame is {{0, 20}, {768, 1004}}

    self.webView.frame is {{0, 0}, {768, 1004}}

    webView.scrollView.contentSize is {1024, 1004}

    webView.scrollView.frame.size is {100, 100}

    完全不和逻辑。

    原来我把上面代码放在了viewDidLoad中了,系统价值玩nib或StoryBoard中的视图后就立即调用viewDidLoad了,这时系统根本还没加载进去里面的内容,方向什么的也都还不知道。

    当我把代码放在加载之后的地方之后,正确的应该是:

    self.view.frame is {{20, 0}, {748, 1024}}

    self.webView.frame is {{0, 0}, {1024, 748}}

    webView.scrollView.contentSize is {5944, 748}

    webView.scrollView.frame.size is {1024, 748}

     

    另外注意,UIWindow的坐标体统一直都是竖立的。

     

    check more:http://stackoverflow.com/questions/9539676/uiviewcontroller-returns-invalid-frame

     

     

       


    作者:老Zhan
    出处:http://www.cnblogs.com/mybkn/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    python基础(str,list,tuple)
    MySQL数据类型概念
    Ubuntu安装sublime
    Ubuntu安装pycharm
    ubuntu安装mysql
    微信小程序注册开发流程
    新开篇
    被玩坏了的题——马的遍历
    一道数学恶心题——小凯的疑惑
    搜索基础题:八皇后
  • 原文地址:https://www.cnblogs.com/mybkn/p/2796175.html
Copyright © 2011-2022 走看看