5

我在使用UIButtons, type 时遇到了一个奇怪的问题custom。我将其中的 4 个按钮放在 a 上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];
4

2 回答 2

2

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

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

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

    parentView.autoresizesSubviews = NO;
于 2012-07-20T04:54:06.603 回答
0

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

于 2010-12-16T17:02:58.583 回答