Прочитайте базу данных, поместите текст в два столбца, чтобы заполнить их, а также остальные iPad - PullRequest
0 голосов
/ 06 октября 2011

после большого поиска я не смог найти ответ на свою проблему.

Я хочу создать приложение для iPad, например книгу, с двумя страницами и одним столбцом в каждом.

После прочтения некоторого текста из базы данных я хочу заполнить две страницы (нужным количеством текста) и сохранить оставшиеся на следующей странице.Я буду отображать некоторые изображения между текстом, и мне нужно сделать так, чтобы текст и изображение помещались на каждой странице.

Я думаю использовать UIWebView для хранения текста.

Мойпроблема в том, чтобы вычислить количество текста, необходимого для каждой страницы, и оставшийся текст.

Можете ли вы помочь мне сделать это?

Спасибо

Cumps

РЕДАКТИРОВАТЬ:

Я буду отображать некоторые изображения между текстом, и мне нужно сделать текст и изображение, чтобы поместиться на каждой странице.

1 Ответ

1 голос
/ 06 октября 2011

UIWebView - это неправильный элемент интерфейса, который нужно использовать, если вы просто хотите отобразить текст.Вы должны знать, что загрузка UIWebView занимает много времени и потребляет много памяти.Это работа для UITextView.

Чтобы рассчитать текст, который поместится на странице, вам придется использовать методы, которые UIKit добавляет в NSString.Вот документация .Это поможет вам рассчитать размер строки, которая будет отображаться при отображении с определенным шрифтом и определенным режимом разрыва строки.

CGSize renderedTextSize = [myString sizeWithFont:myFont forWidth:myTextView.frame.size.width lineBreakMode:UILineBreakModeWordWrap];

Вы можете написать метод, который будет использовать эти методы для вычисления подстроки текста, которая будетпоместиться на вашей текущей "странице" (UITextView).Затем, для следующей «страницы», начните с того места, где вы остановились на последней странице, и добавьте текст в эту строку, пока он не будет идеально вписываться в текстовое представление (возможно, вы добавляете слова, пока он не станет слишком большим, чтобы уместиться, затем выньтепоследнее слово и вернуть эту подстроку).

Что-то подобное должно работать.

...