繁体   English   中英

CGAffineTransform:UIButton上的旋转调整按钮图像的大小

[英]CGAffineTransform: rotation on UIButton resizes button image

我有一个奇怪的问题,使用UIButtons ,键入custom 我将这些按钮中的4个放在UIScrollview ,使用CGAffineTransform以随机角度旋转每个按钮。 现在看来按钮本身会根据旋转角度改变尺寸。

UIGraphicsBeginImageContext(tempCtxSize);
[cookbookImage drawInRect:CGRectMake(imgOffsetX, imgOffsetY+frmOffsetY, cookbookImage.size.width, cookbookImage.size.height)];
[cookbookFrame drawInRect:CGRectMake(0.0f, frmOffsetY, cookbookFrame.size.width, cookbookFrame.size.height)];
UIImage *combinedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

…

UIButton *cookbookViewButton = [UIButton buttonWithType:UIButtonTypeCustom];
[cookbookViewButton setFrame:CGRectMake(0.0f, 0.0f, combinedImage.size.width, combinedImage.size.height)];

[cookbookViewButton setBackgroundColor:[UIColor clearColor]];
[cookbookViewButton setBackgroundImage:combinedImage forState:UIControlStateNormal];

CGAffineTransform rotation = [cookbookViewButton transform];
rotation = CGAffineTransformRotate(rotation, angle); // some random angle
[cookbookViewButton setTransform:rotation];

这是一个系统错误:“ Important如果视图的转换属性不包含标识转换,则该视图的框架是未定义的,其自动调整行为的结果也是如此。”

来自: 使用自动调整规则自动处理布局更改

解决方案:将父视图的autoResizeSubviews设置为NO。

    parentView.autoresizesSubviews = NO;

不要设置cookbookViewButton的框架 - 设置边界。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM