Я использую Text Kit в сочетании с UIPageViewController для создания книги. Исходный текст сохраняется в текстовом файле (.html) и помещается в NSTextStorage.iOS 7 Text Kit: Когда NSLayoutManager заполнил свой последний NSTextContainer?
Метод [NSLayoutManager addTextContainer: (NSTextContaner *) txt] отлично работает, но нет никакого способа узнать, когда NSLayoutManager заполнил последний NSTextContainer - он просто продолжает возвращать NSTextContainer даже после отображения всего следующего. В результате вы получаете все банковские страницы после выполнения NSLayoutManager.
Я попытался использовать метод обратного вызова [NSLayoutManagerDelegate didCompleteLayoutForTextContainer: atEnd:], но он не работает должным образом. Он возвращает флаг atEnd = YES после заполнения каждого NSTextContainer, а не только когда заполняется последний NSTextContainer. Я установил UITextView.scrollable = NO (предлагается в другом месте), но это не помогает.
Я также попытался проверить текст, вызвав UITextView.text, когда текст не отображается, но этот метод всегда возвращает содержимое всего NSTextStorage, которое лежит за NSTextContainer/NSLayoutManager.
Если я не могу сказать, когда заполнен последний контейнер, я не знаю, когда будут выложены все страницы. Есть ли способ проверить UITextView, чтобы увидеть, если его пустой или NSContainer, или NSLayoutManager, чтобы увидеть выполненный текст?
Я закончил использовать – RMH