UIVIew在UIScrollView Scroll上调整大小

时间:2015-10-08 05:19:14

标签: ios objective-c iphone uiview uiscrollview

我正在开发app,其中我的父视图是UIScrollView,子视图是UIView和UIButton。

当我点击UIButton时,我以编程方式增加UIView的高度(这很好)

但是当我滚动我的scrollView后,我的UIView调整到其原始高度,我也尝试在scrollViewDidScroll方法中更改UIView的高度,但它不起作用:(

请帮助..

这是我的代码段:

- (IBAction)ButtonClicked:(id)sender {

    [UIView animateWithDuration:0.8f delay:0.0f options:UIViewAnimationOptionTransitionNone animations: ^{
        MyView.frame = CGRectMake(8, 243, 304, 400);
    } completion:nil];
} 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    MyView.frame = CGRectMake(8, 243, 304, 400);  
}

提前致谢!!

1 个答案:

答案 0 :(得分:2)

您应该将左(顶部,宽度或高度)约束连接为IBOutlets,并且应该更改它们。

因为在滚动滚动视图时,视图会使用自动布局约束进行重新布局。

所以

myViewLeftConstraint.constant = 8
myViewTopConstraint.constant = 243
myViewWidthConstraint.constant = 304
myViewHeightConstraint.constant = 400

像这样。