调整UIView的高度可以通过修改它的frame.size.height
属性或修改它的NSLayoutHeight
约束来完成。但是,默认情况下,降低UIView的高度会从下往上切断UIView,我需要从上到下降低UIView的高度。这可能吗?
答案 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,并在容器视图中移动视图。 就像在绘图软件中剪贴蒙版一样。