我有两个视图,一个是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 ))];
}
}
答案 0 :(得分:0)
你完全需要一种不同的方法。使用自动布局,您永远不应该致电-setFrame:
。如果您希望增加视图,则应添加约束或编辑其中一个现有约束,然后调用-setNeedsUpdateConstraints
或-layoutIfNeeded
。
或者只关闭自动布局。