Автомакет iOS с изменением размера

У меня есть два представления: одно - это textView, а под ним - прокрутка, в моем приложении textView должен переключаться, расширяясь при прикосновении к нему. Я установил "Верхнее пространство: текстовый вид" для scrollView в IB. Но когда я расширяю 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 ))];
    }
}

person Wayn Liu    schedule 11.03.2013    source источник
comment
вопрос не ясен   -  person Vaibhav Saran    schedule 20.03.2013


Ответы (1)


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

Или просто отключите Auto Layout.

person paulmelnikow    schedule 14.03.2013