Контроллер XCode для IPad с разделенным видом с подробными видами, содержащий несколько элементов управления формой - PullRequest
0 голосов
/ 22 июля 2011

Совершенно новый для Mac и XCode 3.2.6 и iPad. У меня есть довольно простая модель бизнес-данных для реализации на iPad, но я не могу найти комбинацию представлений и контроллеров для использования.

Это простая программа для сбора данных, но слишком много полей данных не помещается на одном экране, поэтому я прибегнул к подходу Split View.

У меня восемь строк табличных данных слева; RootViewController является UITableViewController по умолчанию. Я пытаюсь написать программу так, чтобы при выборе какой-либо из этих строк таблицы вид справа (подробный вид) перерисовывался и заполнялся множеством различных элементов управления (метки, кнопки, текстовые поля и т. Д.), Которые соответствуют выбору слева. В настоящее время все представления Подробности являются простыми UIViewControllers.

Например, первая «вкладка» может называться «Личная», и мне нужно отображать поля для сбора информации, такой как имя, DOB, рост, вес и т. Д. Следующей может быть «Адрес», где мне нужно собирать улицу, город, почтовый индекс и т. д. Следующим может быть «Работодатель», где я хотел бы собрать имя, адрес, номер телефона и т. д. работодателя. В основном это статические данные, которые не меняются, но полей достаточно. около 8 экранов стоит.

У меня все это изложено в Интерфейсном Разработчике, но когда я запускаю его на симуляторе iPad и нажимаю самую первую кнопку в самом первом виде, подключенный делегат не вызывается. Я установил там точку останова, и она не ударилась.

Есть ли какая-то особая магия в использовании простых UIViewController в правой части UISplitViewController, если позволить им содержать другие простые элементы управления Label, TextBox и Button?

Также есть ли какая-то особая магия в том, что фреймворк создал оригинальный код запуска с парой RootViewController.h / .m и DetailViewController.h / .m? Правильно ли я считаю, что один подробный вид представляет весь экран iPad справа от табличного представления и что для добавления большего количества «страниц» нам нужно написать больше файлов и файлов .XIB, таких как DetailViewController?

Последний вопрос - как реализовать модель данных для этого приложения. Я заметил, когда проект был впервые создан автоматически, для модели не было никаких исходных файлов. (Может быть, большинство предопределенных типов приложений ничего не генерируют для модели автоматически, но я понимаю, что это большая часть парадигмы модель-представление-контроллер.) В любом случае эти поля данных во всех различных представлениях в конечном итоге станут частью Запись SQLite, которую я хотел бы сохранить и загрузить из хранилища. С чего бы мне начать связывать все эти вещи со всем автоматически генерируемым кодом, ориентированным на представление?

Если кто-то видел веб-сайт "Как писать реальные бизнес-приложения для iPad" в духе чего-либо подобного, пожалуйста, опубликуйте ссылку. Я не пытаюсь отображать JPEG разных фруктов в единственном (повторно используемом) виде на правой стороне; Я пытаюсь отобразить несколько реальных элементов управления для сбора реальных данных для реального бизнес-приложения.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 06 ноября 2014

Для вашей модели данных CoreData - ваш друг. Он обеспечивает модельно-ориентированный подход и позволяет легко сохранять данные.

Для ваших нужд навигации я думаю, что tabBarController лучше соответствует вашим потребностям.

Изменение подробного вида из основного вида может быть проблематичным, особенно при использовании NavigationController в качестве подробного вида. Лучший способ, который я нашел, - это использование NSNotificationCenter.

При использовании UISplitview я настоятельно рекомендую поддерживать iPad только в тех случаях, когда это необходимо для бизнеса - в iOs 8 внесены некоторые изменения, облегчающие использование.

0 голосов
/ 22 июля 2011

Основные вещи, если вы их еще не сделали:
Вы подключили интерфейсный объект, который нажимает пользователь из события INSIDE TOUCH UP, к IBOUTLET, который затем обновляет правую сторону?

Если у вас есть, и вы немного покопались (то есть переименовали и переместили материал), попробуйте удалить его из панели событий, вызываемой правой кнопкой мыши, а затем снова подключить его к тому же IBOUTLET снова (вам не нужно удалить любой код).
Кроме того, если вы рассчитываете на какое-то событие, которое сработает, но не запускается, вы должны выполнить поиск по нему (например, VIEWDIDLOAD NOT FIRING), потому что это иногда может быть «сломано» (то есть без подключения к владельцу файлов), но чаще всего одно. может неправильно понять, когда это действительно срабатывает (т.е. VIEWDIDLOAD против VIEWDIDAPPEAR против VIEWWILLAPPEAR и т. д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...