标签: cgaffinetransformscale

将比例AffineTransform应用于UIView会改变其中心

当用户点击其超级视图时,我正在运行此代码来缩小UIView.但是,在应用CGAffineTransformScale()时,它也会更改中心.这是预期的行为吗?

-(void) onTap:(UITapGestureRecognizer *)tap{


    [UIView animateWithDuration:1.2
                          delay:0
                        options:0
                     animations:^{
                         CGAffineTransform transform = self.icon.transform;
                         NSLog(@"Previous center: %@", NSStringFromCGPoint(self.icon.center));

                         self.icon.transform = CGAffineTransformScale(transform, 0.5, 0.5);

                         NSLog(@"Next center: %@", NSStringFromCGPoint(self.icon.center));
                     } completion:^(BOOL finished) {
                         //
                     }];


}
Run Code Online (Sandbox Code Playgroud)

cocoa-touch core-animation uiview cgaffinetransform cgaffinetransformscale

4
推荐指数
1
解决办法
9991
查看次数

缩放UIBezierPath使其移动

我画了一个UIBezierPath里面的UIView.随着pinchGesture我尝试上下缩放.

缩放工作,但我的问题是UIBezierPath向下/向上移动(如果它的大小增加它向下移动,如果大小减少它向上移动).

如何设置缩放的锚点,使UIBezierPath中心停留在同一个地方?

- (void)handlePinch:(UIPinchGestureRecognizer *)recognizer {
  CGAffineTransform transform = CGAffineTransformScale(recognizer.view.transform, 
                                                       recognizer.scale, 
                                                       recognizer.scale);
  [self.selectedObject applyAffineTransform:transform];
  recognizer.scale = 1;
}
Run Code Online (Sandbox Code Playgroud)

(selectedObject是一个只应用于affineTransform它的对象UIBezierPath)

除了缩放之外,我尝试应用翻译将其移回原处之前的位置,但我不知道如何找到翻译的值以使路径保持在同一位置.

core-graphics scale cgaffinetransform uibezierpath cgaffinetransformscale

3
推荐指数
1
解决办法
3516
查看次数

CGAffineTransformScale不适用于零刻度

更新到iOS 8,我注意到一个有趣的.我使用CGAffineTransformScale将图像视图缩放到零,这个想法是它从用户的视图中整齐地消失.这是iOS8的工作,但现在它根本没有.视线瞬间消失; 空白!

所以最初我使用过:

CGAffineTransform zoom = CGAffineTransformScale(CGAffineTransformIdentity, 0.0f, 0.0f);
myImageView.transform = zoom;
Run Code Online (Sandbox Code Playgroud)

为什么到目前为止不起作用以及功能何时没有折旧?

zoom scale cgaffinetransform ios cgaffinetransformscale

3
推荐指数
2
解决办法
3329
查看次数

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

请有人帮我解决这个问题吗?提前致谢..

objective-c uitableview ios cgaffinetransformscale

2
推荐指数
1
解决办法
1652
查看次数

在NSView层上设置仿射变换不像在iOS上那样工作

我想要实现一些非常简单的事情.我想改变一个层的规模.但它似乎没有按预期工作.事实上,它根本不起作用.图层的比例保持不变.

这是我的代码:

NSView *v = [[NSView alloc]init];
v.wantsLayer = YES;
v.frame = self.bounds;
float scale = 0.8f;
[v.layer setAffineTransform:CGAffineTransformMakeScale(scale,scale)];
[self addSubview:v];
Run Code Online (Sandbox Code Playgroud)

如果我记录我获得的affineTransform属性.vnull

macos objective-c ios cgaffinetransformscale

1
推荐指数
1
解决办法
3334
查看次数

如何使用CGAffineTransform刻度并同时翻转

我正在尝试使用a转换一个点数组CGAffineTransform.缩放工作完美,但点的左上角为(0,0)而不是左下角.像这样......

颠倒的图表

通常我会简单地使用,CGAffineTransformMakeScale(1,-1);但因为我已经执行了一个比例,我无法将它添加到现有的转换中.

这是我目前的代码

- (CGAffineTransform)transformFromValueToScreen
{
    CGRect fromRect = self.valueSpace;
    CGRect viewRect = self.screenSpace;

    CGSize scales = CGSizeMake(viewRect.size.width/fromRect.size.width,
                               viewRect.size.height/fromRect.size.height);

    CGAffineTransform transform = CGAffineTransformMakeScale(scales.width, 
                                                             scales.height);

    return transform;
}
Run Code Online (Sandbox Code Playgroud)

cgaffinetransform ios cgaffinetransformscale

1
推荐指数
1
解决办法
4727
查看次数