前辈朋友们,请教下在CGpointmake设置坐标的时候,这句怎么理解?-self.frame.size.width
个人对深层潜逃和点语法掌握还不太熟悉。
全句:lives.position = CGPointMake(self.frame.size.width, self.frame.size.height);

解决方案 »

  1.   

    frame字面意思就是框架(想象为一个相框), 是个CGRect类型的变量,表示一个视图所在的位置和大小,你按住command键然后鼠标点击CGRect可以看到他的定义,是两个结构体组成的
    struct CGPoint {
      CGFloat x;
      CGFloat y;
    };
    typedef struct CGPoint CGPoint;/* Sizes. */struct CGSize {
      CGFloat width;
      CGFloat height;
    };
    typedef struct CGSize CGSize;分别表示位置和尺寸
    结构体中字段是可以直接用点语法访问的
    所以self.frame.size.width就是表当前视图的框架(frame)的尺寸(CGSize结构体)的宽度lives.position = CGPointMake(self.frame.size.width, self.frame.size.height);就是设置lives的位置为当前视图右下角的那个点
      

  2.   

    方法不是用点语法吧,点语法是访问对象的实例变量,和属性的getter和setter方法,其他的方法不能通过点语法访问吧