【问题标题】:How can I alter the height of a UIView using CGAffineTransformScale?如何使用 CGAffineTransform Scale 更改 UIView 的高度?
【发布时间】:2011-10-17 22:43:35
【问题描述】:

是否可以单独使用 CGAffineTransformScale 更改 UIView 的高度?

我不想完全扩展我的 UIView。我只是想单独增加身高?

【问题讨论】:

    标签: ios cgaffinetransformscale


    【解决方案1】:

    类似这样的:

    view.transform = CGAffineTransformMakeScale(1.0, 2.0);
    

    将使您的视图高一倍但宽度相同。但是,变换是在光栅化之后应用的,因此您只会拉伸原始像素,不会显示任何额外的细节。您还应该从 UIView 文档中知道,如果将 transform 设置为身份以外的任何内容,则 frame 将变为未定义。

    【讨论】:

    • 我检查了这个。正如你提到的,它是像素化的。有没有办法避免这种情况?
    • 我并不完全有信心,但如果您创建了一个具有合适比例的上下文,然后使用renderInContext: 以更高的分辨率获取相关视图的图像,您可能可以使用那个。
    【解决方案2】:

    您不能使用转换。最好设置 UIView 的框架。因为这确实改变了视图的高度。

    view.frame=CGRectMake(0,0,100,200);

    【讨论】:

    • 我不想使用 view.frame,因为我想在 drawRect 或 layoutSubView 中更改 UIView。
    • 您可能不需要更改 UIView 上的任何内容。只需将视图绘制到具有适当宽度/高度的目标上下文中即可。
    • 我有一个自定义 UIView。你能详细说明到目的地的图纸视图吗..
    猜你喜欢
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多