利用uitouch简单的实现了微信cell效果-创新互联

#import

成都服务器托管,创新互联提供包括服务器租用、雅安电信机房、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、主机域名等业务的一体化完整服务。电话咨询:028-86922220

@interface weixinControl : UIControl

-(weixinControl *)initWithFram:(CGRect)rect;

@end

#import "weixinControl.h"

@implementation weixinControl

{

  CGRect _rect; //记录self.frame的大小

  UIView *_frontView; //用来显示主要内容

  CGPoint _originPoint; //记录开始touch时的position

  CGPoint _currentPoint;//记录当前位置

  CGRect _frontViewOriginRect;//记录frontVie的初始fram

  CGFloat _offsetXPosition; //记录x的位移量

  UIButton *_delBtn; //删除按钮

}

-(weixinControl *)initWithFram:(CGRect)rect

{

  if (self = [super initWithFrame:rect]) {

    self.backgroundColor = [UIColor cyanColor];

    _rect = rect;

    _offsetXPosition = 0.0f;

    [self makeDeletButton];

    [self makeFrontView];

  }

  return self;

}

-(void)makeDeletButton

{

  _delBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

  _delBtn.frame = CGRectMake(_rect.size.width - 50, 0, 50, _rect.size.height);

  [_delBtn setTitle:@"删除" forState:UIControlStateNormal];

  _delBtn.backgroundColor = [UIColor redColor];

  [self addSubview:_delBtn];

}

-(void)makeFrontView

{

  _frontView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, _rect.size.width, _rect.size.height)];

  _frontViewOriginRect = _frontView.frame;

  _frontView.backgroundColor = [UIColor blueColor];

  [self addSubview:_frontView];

}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

  UITouch *beganTouch = [touches anyObject];

  _originPoint = [beganTouch locationInView:self];

}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

{

  if (_offsetXPosition < (0 - _delBtn.frame.size.width)) {

    _frontView.frame = CGRectMake((0 -_delBtn.frame.size.width), _frontViewOriginRect.origin.y, _frontViewOriginRect.size.width, _frontViewOriginRect.size.height);

  }

  else

  {

    _frontView.frame = _frontViewOriginRect;

  }

}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

{

  UITouch *moveTouch = [touches anyObject];

  _currentPoint = [moveTouch locationInView:self];

  _offsetXPosition = _currentPoint.x - _originPoint.x;

  if (_offsetXPosition >= 0) {

    return;

  }

  _frontView.frame = CGRectMake(_offsetXPosition, _frontViewOriginRect.origin.y, _frontViewOriginRect.size.width, _frontViewOriginRect.size.height);

}

@end

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:利用uitouch简单的实现了微信cell效果-创新互联
网页路径:http://azwzsj.com/article/gicog.html