Изменить размер родительского UIView UITextView при добавлении в UIScrollView - PullRequest
0 голосов
/ 11 июня 2018

У меня есть UIView, который содержит несколько UITextViews, которые изменяют размер, чтобы соответствовать тексту, последнее текстовое представление связано с основанием родительского UIView через Autolayout.Затем UIView динамически добавляется в UIScrollView с использованием следующего

 for (UIView *subview in self.scrollViewContent.subviews) {
        [subview removeFromSuperview];
    }

    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;

    NSLog(@"%f",self.txtViewEndOfFAQ.frame.size.height);

    [self.viewFAQ setFrame:CGRectMake(0, 0, screenWidth, (self.txtViewEndOfFAQ.frame.origin.y + self.txtViewEndOfFAQ.frame.size.height))];


    [self.scrollViewContent addSubview:self.viewFAQ];
    [self.scrollViewContent setContentSize:CGSizeMake(self.viewFAQ.frame.size.width,   self.viewFAQ.frame.size.height)];


    [self addUnderline:self.imageViewTitle4];

    [self showMenu:nil];

Теперь проблема в том, что при загрузке он не дает мне правильную высоту.При использовании более узких устройств высота текстового обзора увеличивается в соответствии с текстом, и это, похоже, не учитывается.

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете добавить ограничение по высоте программно, если оно не создает конфликта с вашими существующими ограничениями.С NSLayoutConstraint это было бы что-то вроде:

NSLayoutConstraint *heightConstraint = [NSLayoutConstraint
                       constraintWithItem:self.viewFAQ
                       attribute:NSLayoutAttributeHeight
                       relatedBy:NSLayoutRelationEqual
                       toItem:self.txtViewEndOfFAQ
                       attribute:NSLayoutAttributeNotAnAttribute
                       multiplier:1.0
                       constant:0];

[self addConstraints: heightConstraint];

Использование NSLayoutAnchor:

[self.viewFAQ.heightAnchor constraintEqualToAnchor:self.txtViewEndOfFAQ.heightAnchor].active = YES;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...