Uitext Content Size в UI Scroll View, текст внизу обрезается - PullRequest
3 голосов
/ 19 октября 2011

У меня есть UIScroll, в котором есть uitextview.

Мои приложения выглядят так:

rootviewcontroller -> PhoneContentController (UIScrollView и PageControl) -> DetailController (UITextView, UIWebView, UILabel).

Мой поток выглядит следующим образом:

Установить UIScrollView размер по умолчанию -> вызов DetailController (вычислить UITextView и другую страницу внутри него в viewDidLoad) -> PhoneContentController получить общий размер высоты от DetailController -> Изменить высоту UIScrollView

Это код в PhoneContentController (loadSCrollViewWithPage):

scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * kNumberOfPages, [detailController.getTotalHeight]);

Код в контроллере деталей (viewDidLoad):

summaryBlogParsed = [summaryBlogParsed stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
[self.itemSummaryText setText:summaryBlogParsed];

CGRect frameTextView = self.itemSummaryText.frame;    

frameTextView.size.height = self.itemSummaryText.contentSize.height;

self.itemSummaryText.frame = frameTextView;

Этот код в DetailController getTotalHeight:

 CGRect cgRect = [[UIScreen mainScreen] bounds];

CGFloat scrollFrame = (cgRect.size.height/2) + itemSummaryText.frame.size.height;

                       return scrollFrame;

Я могу прокрутить просмотр прокрутки, но textviewне загружать всю строку.вроде только половина, но я могу прокрутить вниз, но с пустыми страницами: (.

Кто-нибудь может мне помочь?

Спасибо

Ответы [ 2 ]

0 голосов
/ 26 января 2016

По словам Apple ... При отладке проблем с текстовыми представлениями обратите внимание на эту распространенную ошибку:

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

0 голосов
/ 13 марта 2013

установить размер содержимого просмотра прокрутки с помощью этой функции.

-(void)setContentSizeOfScrollView:(UIScrollView*)scroll
{
    CGRect rect = CGRectZero;

    for(UIView * vv in [scroll subviews])
    {
        rect = CGRectUnion(rect, vv.frame);
    }

    [scroll setContentSize:CGSizeMake(rect.size.width, rect.size.height)];
}

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

...