从上到下降低UIView的高度?

时间:2014-09-18 00:38:27

标签: ios objective-c uiview

调整UIView的高度可以通过修改它的frame.size.height属性或修改它的NSLayoutHeight约束来完成。但是,默认情况下,降低UIView的高度会从下往上切断UIView,我需要从上到下降低UIView的高度。这可能吗?

3 个答案:

答案 0 :(得分:1)

在更改高度时调整视图的origin.y

CGFloat const delta = 100;
[aView setFrame:CGRectMake(CGRectGetMinX([aView frame]), CGRectGetMinY([aView frame]) + delta, CGRectGetWidth([aView bounds]), CGRectGetHeight([aView bounds]) - delta)];

答案 1 :(得分:1)

您还需要调整框架的原点。

例如:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 20.0, 40.0)];

从'自上而下'将高度更改为30.0执行:

view.frame = CGRectMake(0.0, 10.0, 20.0, 30.0);

答案 2 :(得分:0)

使用clipsToBounds == YES创建容器UIView,并在容器视图中移动视图。 就像在绘图软件中剪贴蒙版一样。