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/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    Qt之添加QLabel的点击事件
    Qt之布局管理--基本布局
    Qt之界面实现技巧
    Qt之键盘讲解
    Qt之多窗口切换
    Qt之自定义信号和槽函数
    Qt之重写QLabel类
    mysql学习(四)-字段类型
    mysql学习(三)
    mysql 复习与学习(二)数据库及表结构的创建删除
  • 原文地址:https://www.cnblogs.com/mybkn/p/2796175.html
Copyright © 2011-2022 走看看