带有调整大小的iOS自动布局

时间:2013-03-11 08:31:39

标签: ios autolayout

我有两个视图,一个是textView,下面是一个scrollview,在我的应用程序中,textView应该在触摸时切换展开。我为IB中的scrollView设置了“Top Space to:Text View”。但是当我展开时textView似乎不起作用。

这是切换扩展代码。

- (void)onTextViewClicked:(id)sender
{
    CGRect targetFrame = _descTextView.frame;
    if (_isTextViewExpand) {
        targetFrame.size.height = _descTextViewNormalHeight;
        _descTextView.frame = targetFrame;
        _isTextViewExpand = NO;
        [_contentScrollView setContentSize:CGSizeMake(320.f, kContentScrollViewDefaultHeight)];
    }
    else {
        targetFrame.size.height = _descTextViewExpandHeight;
        _descTextView.frame = targetFrame;
        _isTextViewExpand = YES;
        [_contentScrollView setContentSize:CGSizeMake(320.f, kContentScrollViewDefaultHeight + ( _descTextViewExpandHeight - _descTextViewNormalHeight ))];
    }
}

1 个答案:

答案 0 :(得分:0)

你完全需要一种不同的方法。使用自动布局,您永远不应该致电-setFrame:。如果您希望增加视图,则应添加约束或编辑其中一个现有约束,然后调用-setNeedsUpdateConstraints-layoutIfNeeded

或者只关闭自动布局。