Ahm*_* Z. 2 objective-c uitableview ios cgaffinetransformscale
我正在使用CGAffineTransformScale缩小我的UITableView,它正确缩放它但我似乎无法正确设置锚点.
self.myTableView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.8, 0.8);
Run Code Online (Sandbox Code Playgroud)
如果我没有设置锚点,它会从中心向下缩放,但根据我的要求,我需要保持左上角点固定.为此,我用过这个
self.myTableView.layer.anchorPoint = CGPointMake(0, 0);
self.myTableView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.8, 0.8);
Run Code Online (Sandbox Code Playgroud)
但这并没有正确设置锚..还有一件事我还没用过 AutoLayout
请有人帮我解决这个问题吗?提前致谢..
试试这个
[self setAnchorPoint:CGPointMake(0, 0.5) forView:recognizer.view]; // for left anchor point
Run Code Online (Sandbox Code Playgroud)
这里是setAnchorPoint
-(void)setAnchorPoint:(CGPoint)anchorPoint forView:(UIView *)view
{
CGPoint newPoint = CGPointMake(view.bounds.size.width * anchorPoint.x,
view.bounds.size.height * anchorPoint.y);
CGPoint oldPoint = CGPointMake(view.bounds.size.width * view.layer.anchorPoint.x,
view.bounds.size.height * view.layer.anchorPoint.y);
newPoint = CGPointApplyAffineTransform(newPoint, view.transform);
oldPoint = CGPointApplyAffineTransform(oldPoint, view.transform);
CGPoint position = view.layer.position;
position.x -= oldPoint.x;
position.x += newPoint.x;
position.y -= oldPoint.y;
position.y += newPoint.y;
view.layer.position = position;
view.layer.anchorPoint = anchorPoint;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1652 次 |
| 最近记录: |