WMDragView
WMDragView copied to clipboard
建议增加一个FreeRect的set重写。
因为有时候涉及到freeRect的临时变动,如果当前view在freeRect外,也不能会到freeRect内。
` -(void)setFreeRect:(CGRect)freeRect { _freeRect = freeRect;
[self keepBounds];
} `
我的意思大概就是这样,卤煮你看如何。
freeRect 相关的还有一个问题
-(void)layoutSubviews{
[super layoutSubviews];
if (self.freeRect.origin.x!=0||self.freeRect.origin.y!=0||self.freeRect.size.height!=0||self.freeRect.size.width!=0) {
//设置了freeRect--活动范围
}else{
//没有设置freeRect--活动范围,则设置默认的活动范围为父视图的frame
self.freeRect = (CGRect){CGPointZero,self.superview.bounds.size};
}
...
}
如果一开始 freeRect 没设值,这里会把它变成 superview 的区域,但是如果 superview 的大小在之后发生变化,freeRect 就不会修正成新的值了
freeRect 相关的还有一个问题
-(void)layoutSubviews{ [super layoutSubviews]; if (self.freeRect.origin.x!=0||self.freeRect.origin.y!=0||self.freeRect.size.height!=0||self.freeRect.size.width!=0) { //设置了freeRect--活动范围 }else{ //没有设置freeRect--活动范围,则设置默认的活动范围为父视图的frame self.freeRect = (CGRect){CGPointZero,self.superview.bounds.size}; } ... }
如果一开始 freeRect 没设值,这里会把它变成 superview 的区域,但是如果 superview 的大小在之后发生变化,freeRect 就不会修正成新的值了
@zhengwenming 确实会存在这个问题
已经解决。请更新最新的代码。