Вот маленький секрет, который часто упускают из виду: множество интересных элементов пользовательского интерфейса, которые вы видите , являются запасными элементами Apple, которые были настроены на грань невозврата.
ОсновныеПричиной этого является то, что Apple потратила много времени и усилий на создание компонентов, которые просто работают.Например, для UIScrollView было потрачено гораздо больше времени, чем на любое написанное вами приложение.
Хитрость заключается в том, чтобы точно знать , как настроить элементы.Хороший пример - UITabBar: я видел несколько приложений, которые используют свои собственные панели вкладок.Проблема в том, что зачастую они не особенно хорошо справляются с крайними случаями.У вас могут возникнуть проблемы, если кто-то попытается нажать два элемента одновременно (я действительно видел приложение, которое использовало собственную реализацию сбоя панели вкладок, если вы одновременно нажали два элемента).
Но если вы используете Apple UITabBarController и либо создаете подкласс, классифицируете или иным образом перегружаете его, чтобы получить нужную настройку, вы получаете множество низкоуровневых средств обработки событий бесплатно.
Вы были бы поражены тем, что вы можете сделать с помощью UITableViewController, и вы получаете такие вещи, как повторное использование представления бесплатно (некоторые приложения, над которыми я работал, имеют такие вещи, как независимое изменение размера ячейкинастраиваемая анимация ячеек, горизонтальные реализации табличного представления и т. д.).
Не очень полезный ответ, я вас уверяю, но суть, которую я хочу донести до вас, заключается в том, как только вы спроектировали свою сногсшибательную задницуUI отступите назад и подумайте, чего можно достичь с помощью существующего набора инструментов, прежде чем переходить на свой собственный.Вы будете благодарить меня за исправление ошибок!