zoukankan      html  css  js  c++  java
  • IOS开发之UIView的基本使用

    一.视图

       1. iphone手机上的窗口就是UIWindow类的一个实例(1个手机应用只有一个UIWindow)。

       2.UIView类用于实现视图。 

          UIView提供了方法来添加和删除子视图。一个视图可以有多个子视图,这些子视图按照顺序放在父窗口下:

          -(void) addSubview:(UIView *)view;//添加子视图   

          -(void) removeFromSuperview;//从父窗口上删除子视图(自己)

          -(void) insertSubview:(UIView *)view atIndex:(int)index;//按照顺序添加子视图

          -(void) insertSubview:(UIView *)view belowSubview:(UIView *)view;

          -(void) insertSubview:(UIView *)view belowSubview:(UIView *)view; 

          -(void) insertSubview:(UIView *)view belowSubview:(UIView *)view;

          -(void) exchangeSubviewAtIndex:(int) indexwithSubviewAtIndex:(int)otherIndex;

       3.视图结构的相关函数

           CGPointMake(x,y)                             CGPoint point=CGPointMake(50.0,50.0);

            声明位置的信息                                       point.x=50.0;

                                                                        point.y=50.0;

           CGSizeMake(width,height)

           声明大小的信息                                       CGSize size=CGSizeMake(200.0,100.0);

                                                                       size.width=200.0;

                                                                       size.height=200.0;

     

          CGRectMake(x,y,width,height)               CGRect rect=CGRectMake(50.0,50.0,200.0,200.0)

            声明位置和大小信息                                  rect.origin.x=50.0;

                                                                         rect.size.width=200.0;

       4.Frame和Bound

          视图的大小和位置用两种方式表示。一种方式是Frame(框架),即以其父视图为起点,得出它自己的信息。另一种方式是Bound(界限),即以它自己为起点,得到其位置。

          其实,系统内部存放的是图的中心点位置和大小信息。Frame方式的信息是按照中心点位置计算出来的。当我们创建一个视图的时,我们往往采用Frame方式。当我们旋转一个视图或者处理视图事件时,我们大多采用Bound方式。

         曾经被面试官问过这个问题,当时概念很模糊,被面试官嗤笑了,呵呵!Frame和Bound的区别?这下清楚了吧。

  • 相关阅读:
    对 HTTP 304 的理解(转-并增加自己的测试)
    山寨云主机充斥市场 教您辨别真假云主机
    JavaScript判断字符串是否含有中文(实用)
    ThinkPHP CURD返回结果参考
    Linux下修改网卡的mac地址
    Asterisk重要App
    Validation(3)--全局参数异常校验捕获及返回XML解决
    Validation(2)
    Validation(1)
    Mybatis分页中遇到的坑2
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3144955.html
Copyright © 2011-2022 走看看