2010-03-27 2 views
1

Я новичок в разработке iPhone, и у меня возник вопрос о том, как создать представление для моего приложения.Как бы вы спроектировали вопрос/ответ (iPhone SDK)

В представлении должна отображаться проблема (с использованием форматированного/синтаксиса выделенного текста) и нескольких возможных ответов. Пользователь должен иметь возможность нажать на ответ, чтобы проверить его.

В настоящее время я пытаюсь использовать UITableView встраивание UIWebView в качестве contentView. Это позволяет мне легко отображать форматированный текст. Проблема в том, что больная настоящая боль, чтобы вычислить и отрегулировать высоту ячеек. Я должен предварительно загрузить веб-просмотр, вызвать sizeToFit, получить его высоту и обновить ячейку соответствующим образом. Этот процесс должен быть выполнен для проблемы и ответов (так же как и текст в формате HTML).

Это такая боль, что я планирую переключиться на что-то еще. Я думал, используя только большой UIWebView и дизайн всего в HTML. Но я посмотрел на некоторые статьи, описывающие, как общаться между HTML-страницей и кодом ObjectiveC. Это, похоже, связано с некоторыми ужасными трюками ...

Итак ... вот и все, я не знаю, что делать. Я предполагаю, что некоторые из вас имели дело с такими вещами раньше, и предоставили бы некоторые очень полезные советы :)

+0

Building StackOverflow для iPhone мы? ;-) – Josh

+0

Нет, просто приложение для викторины :) – NewbiZ

+0

@Josh Там уже есть приложение для iPhone stackoverflow под названием Six To Eight (http://stackapps.com/questions/623/six-to-eight-an-iphone-client -now-in-the-app-store) –

ответ

1

Уловка здесь заключается в том, что iPhone API еще не поддерживает NSAttributedString, поэтому вы не можете просто указать, что текст будет отображаться как вы хотели бы в текстовом виде.

Я видел одну работу, в которой по существу использовались отдельные UILabels для представления каждого запуска атрибута. (Не удается найти ссылку сейчас.) Они использовали расширения NSString UIKit для вычисления позиции строк на представлении, а затем использовали это для размещения меток.

Еще одна задача - рисовать строки с их атрибутами в UIImage, а затем просто отображать изображение. Это было бы самым простым решением, я думаю.

В любом случае вам нужно будет в основном воссоздать структуру данных атрибутивной строки.

NSAttributedString очень много работает для нас. Мы очень скучаем по нему, когда его нет.

+0

Проблема при использовании меток и строк заключается в том, что для их украшения мне понадобится язык разметки. В настоящее время проблемы и ответы хранятся в виде HTML-текста в базе данных. Я не знаю другого способа, кроме HTML, чтобы хранить оформленный текст. – NewbiZ

+0

Ну, похоже, здесь не будет никакого другого ответа :) Спасибо за ваше время! – NewbiZ