2013-03-11 2 views
0

У меня есть два вида: textView, а под ним - scrollview, в моем приложении textView должен переключаться при нажатии на него. Я устанавливаю «Top Space to: Text View» для scrollView в IB.But Когда я расширяю textView, это кажется неработоспособным.iOS autolayout с изменением размера

вот код для переключения тумблера.

- (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

Вам нужен совсем другой подход. С помощью Auto Layout вы никогда не должны звонить -setFrame:. Если вы хотите, чтобы представления увеличивались, вы должны добавить ограничение или изменить одно из существующих ограничений, а затем позвонить либо -setNeedsUpdateConstraints, либо -layoutIfNeeded.

Или просто отключите автоматическую компоновку.

Смежные вопросы