点击调整视图大小

Posted

技术标签:

【中文标题】点击调整视图大小【英文标题】:Resize view on tap 【发布时间】:2013-07-11 14:39:26 【问题描述】:

我有一个 UIView 作为用于绘制签名的面板,并且我想出了一些代码来在点击时扩展和收缩面板。它似乎工作得很好,但代码似乎很笨拙,我想知道是否有更好的方法来实现这一点。

我在视图中添加了一个轻击手势识别器,将其连接起来,并在我的.m 中有这个:

BOOL clientSigLarge;

- (IBAction)handleSigTap:(id)sender

    CGRect frame = self.clientSigView.frame;

    if (clientSigLarge)
    
        frame.size.height -= 400;
        frame.size.width -= 350;
        frame.origin.x += 350;
        frame.origin.y += 400;
        self.clientSigView.frame = frame;
        clientSigLarge = NO;
    
    else
    
        frame.size.height += 400;
        frame.size.width += 350;
        frame.origin.x -= 350;
        frame.origin.y -= 400;
        self.clientSigView.frame = frame;
        clientSigLarge = YES;
    

感谢任何提示。

【问题讨论】:

【参考方案1】:

要使其更平滑,请使用动画块,如果您的缩放比例是固定的(如 2x、3x 等),则使用 CGAffineTransformScale

[UIView animateWithDuration: 1
                      delay: 0
                    options: (UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction)
                 animations:^myView.transform = CGAffineTransformScale(CGAffineTransformIdentity, xScaleValue, yScaleVale);
                 completion:^(BOOL finished)  
];

所以在 if-else 条件下,只需更改 X 和 Y 比例值并使用相同的块。

这是animations的参考链接

希望这就是你要找的东西

【讨论】:

谢谢,我试试看。

以上是关于点击调整视图大小的主要内容,如果未能解决你的问题,请参考以下文章

自调整大小集合视图单元格大小问题

启用自动布局的 iOS 调整视图大小

动态调整大小的视图定位

在调整滚动视图大小时滚动到滚动视图页面

UIViewController 的视图未由 viewWillAppear() 调整大小 [重复]

键盘向上时如何调整列表视图的大小?