iOS重写setFrame的意义

2017-03-13  本文已影响579人  小荣袁

重写setFrame有很多作用,主要包括下面几个方面

何时重写

有何作用

示范

  - (void)setFrame:(CGRect)frame 
  {
     frame.size = CGSizeMake(100,100);
     [super setFrame:frame];
  }
  - (void)setBounds:(CGRect)bounds 
  {
     bounds.size = CGSizeMake(100,100);
     [super setBounds:bounds];
  }
  - (void)setFrame:(CGRect)frame 
{
   // 让y值改变,+= 10,height -=10
     frame.origin.y += 10;
     frame.size.height -= 10;
     [super setFrame:frame];
}
  - (void)setFrame:(CGRect)frame 
{
   // 让x值改变,+= 10,width值 -= 2 * 10
   frame.origin.y += 10;
   frame.size.width -= 2 * 10;
  [super setFrame:frame];
}
  - (void)setFrame:(CGRect)frame 
{
   // 让x值改变,+= 10,width值 -= 2 * 10,y += 10, height -= 10
    frame.origin.y += 10;
    frame.size.height -= 10;
    
    frame.origin.x += 10;
    frame.size.width -= 2 * 10;
    [super setFrame:frame];
}

扩展想法

想要的效果系统不能满足 考虑重写一些方法,我们在重写的方法里面
做一些操作达到我们想要达到的效果

上一篇 下一篇

猜你喜欢

热点阅读