求解答CGAffineTransformScale造成字体模糊的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求解答CGAffineTransformScale造成字体模糊的问题相关的知识,希望对你有一定的参考价值。

司项目中,需要在主界面实现滑动的时候从小慢慢放大的效果,然后我用了CGAffineTransformScale来实现慢慢变大的效果,但是滑动界面上的子视图的字体和图片都变模糊了,是什么问题造成的呢?关键代码如下所示 求人解答
drivingHabitsBig_View.transform = CGAffineTransformScale(transform, 1+selftest_x*0.52, 1+selftest_x*0.52);
参考技术A 司项目中,需要在主界面实现滑动的时候从小慢慢放大的效果,然后我用了CGAffineTransformScale来实现慢慢变大的效果,但是滑动界面上的子视图的字体和图片都变模糊了,是什么问题造成的呢?关键代码如下所示 求人解答
drivingHabitsBig_View.transform = CGAffineTransformScale(transform, 1+selftest_x*0.52, 1+selftest_x*0.52);

CGAffineTransformScale 不缩放手势区域

【中文标题】CGAffineTransformScale 不缩放手势区域【英文标题】:CGAffineTransformScale not scaling a gesture area 【发布时间】:2013-12-10 05:24:16 【问题描述】:

我有一个 3x3 的 UIViews 网格,其中添加了 UIGestureRecognizers,排列如下:

它的工作方式是点击一个正方形,使用 CGAffineTransformScale 将其放大 2 倍,并将其覆盖在其他正方形上。问题是由于某种原因,触摸区域的大小与 1.0 比例尺相同。

我使用添加正方形

CGRect squareFrame = CGRectMake(1 + squareSpacing + ((squareDimension + squareSpacing) * i), topMargin, squareDimension, squareDimension);
        SquareView *square = [[SquareView alloc] initWithFrame:squareFrame];
        [square setPosition:i];
        square.layer.zPosition = 0;
        [self.view addSubview:square];
        [squaresArray addObject:square];

Square 在其 init 中添加了手势识别器:

fingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
    [self addGestureRecognizer:fingerTap];

点击的函数执行以下操作:

[UIView animateWithDuration:1.0
                      delay:0.0
     usingSpringWithDamping:0.8
      initialSpringVelocity:10.0
                    options:UIViewAnimationOptionCurveEaseOut
                 animations:^
                     CGAffineTransform transform = self.transform;
                     self.transform = CGAffineTransformScale(transform, 2.0, 2.0);
                 
                 completion:nil];

我用红色勾勒了触摸区域。我试过玩 zPosition 但我不知道该怎么做才能让它工作,我被卡住了。我希望能够在任何地方点击放大的正方形使其关闭,但我仅限于红色区域。

提前致谢。

编辑:抱歉图片太大了。添加了代码。

史蒂文

【问题讨论】:

代码将比几张图片提供更多信息。 @CodaFi 抱歉,已添加。 【参考方案1】:

您可以尝试将展开的 UIView 放在父视图的前面,这样您的点击事件就不会被任何重叠的视图捕获:

[parentView bringSubviewToFront:tappedView];

【讨论】:

完美!谢谢。正是我需要的。

以上是关于求解答CGAffineTransformScale造成字体模糊的问题的主要内容,如果未能解决你的问题,请参考以下文章

CGAffineTransformScale 不缩放手势区域

将 CGAffineTransformScale 与 UIAttachmentBehavior (UIDynamicAnimator) 一起使用

使用 CGAffineTransformScale 自定义 UIView 缩放

通过 CGAffineTransformScale 计算的 bounds、frame 和 frame 之间的差异

求java高手解答

求ibatis高手解答