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

Ограничения для UITextField на ввод текста На сайтах обычно это реализуется с помощью JS-скриптов, которые, теоретически, могут быть оключены пользователем на глобальном уровне, и все ограничения, реализованные с помощью JS перестанут действовать.

В iOS-приложении пользователь ничего отключить не сможет :)

Дале - примеры кода...

Ситуация: xCode v.10.xx, после импорта свежего сертификата и ключа iphone distribution в Keychain, в нем отображается красным цветом надпись:

 

Сертификат iphone distribution ненадежен

 

Сертификат iphone distribution ненадежен - iPhone Distribution certificate is not trusted 

По умолчанию объект UITextView не имеет границы (в отличие от UITextField). Иногда это не критично, но в некоторых случаях граница для текстового поля все-таки необходима:

Как добавить границу для UITextView (Swift)

Например, когда цвет фона родительского View и нашего UITextView одинаковые, и нет контраста между ними, то пользователям будет не понятно, где находится граница UITextView.

При использовании кастомных цветов для элементов интерфейса приложений могут быть проблемы с их отображением при использовании тёмной темы на устройствах.

Простая реализация поддержки тёмной темы для iOS

Чаще всего тексты могут быть просто плохо читаемы, или совсем не читаемы из-за отсутствия контраста между цветом фона и цветом, например, текстовых меток.

Если содержимое UILabel в интерфейсе мобильного приложения может варироваться от одного короткого слова до двух предложений, то нужно немного постараться, чтобы это выглядело адекватно хорошо на различных устройствах с разными экранами.

Как выровнять многострочный UILabel по верхнему краю

Когда UILabel не имеет фиксированного размера и должен меняеться динамически в зависимости от количества текста в нем, то это делается следующим образом:

В некоторых ситуациях пользователям iPhone или iPad может быть не удобно задействовать две руки, чтобы сделать скриншот экрана во время использования приложения, и они были бы счастливы делать это с помощью нажатия на одну кнопку - прямо в интерфейсе приложения.

Swift - как сделать скриншот одной кнопкойНа самом деле ни разу даже не возникало такой мысли - делать скриншот экрана iPhone с помощью одной кнопки в интерфейсе приложения, пока один товарищ не рассказал, что есть категория пользователей устройств Apple "старой закалки", которым не удобно растопыривать пальцы и задейстывовать две руки для сохранения изображения экрана.

xCode - UIKeyboardTaskQueue may only be called from the main thread

Если xCode при компиляции проекта ругается на часть кода и выдает ошибку, например, такую: 

 

Thread 4: Exception: -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.

 

Это означает, что данный кусок кода должен выполняться в главном потоке, а не в дополнительном.

При публикации приложения в App Store кроме описания программы необходимо добавлять снимки экрана. Скриншоты экрана можно сделать  с симулятора.

Размеры экранов iPhoneНо: в iTunes Connect указаны размеры экранов в дюймах, а в xCode при выборе симулятора указаны только модели iPhone и iPad без подробностей, какие у них экраны, соответственно, нужно или помнить размеры всех нужных устройств, или иметь под рукой шпаргалку.

Различные полезности xCode для начинающих. То, что облегчает жизнь разработчику и уменьшает трудоемкость. Простые мелочи, описание которых не требует отдельной статьи.

Чистый код в xCode 

Конечно, после использования много раз это запомнится, и шпаргалка будет не нужна, но даже в этом случае она может пригодиться другим.


      Выборка из БД ARINC424 по 5, 6 и 13 столбцам
      Выборка из БД ARINC424 по 5, 6 и 13 столбцам

      ARINC - международная рганизация, выпускающая документацию, главное назначение которой стандартизовать физические и электрические параметры авиационного оборудования для обеспечения максимальной взаимозаменяемости однотипного оборудования, разработанного различными производителями. ARINC424 - рекомендуемый стандарт авиационной промышленности для формата и содержания файлов аэронавигационных данных, используемых при подготовке баз...




      Маразмы-Афоризмы УВАУ ГА
      Маразмы-Афоризмы УВАУ ГА

      Данное эксклюзивное "литературное" произведение было собрано, сверстано, напечатано в нескольких экземплярах в виде брошюры размером А5 и, конечно же, размещено на просторах Интернета выпускниками факультета УВД (Управление Воздушным Движением) 2003 года Ульяновского высшего авиационного училища гражданской авиации (УВАУ ГА). Курсанты группы Д11/51-98 в течение 5 лет не только смеялись над друг...




      Как удалить adobe flash player
      Как удалить adobe flash player

      Иногда может возникнуть ситуация, что необходимо удалить из операционной системы Adobe Flash Player. Причин для этого может быть несколько, основная - частые ошибки этого плейера или его службы автоматического обновления.   Самая распространенная ошибка adobe flash player - это ошибка его службы автоматического обновления. При этом отображается окно с нетривиальной надписью: "FlashPlayerUpdateService.exe...




      Контакты в iPhone - управление, копирование, восстановление
      Контакты в iPhone - управление, копирование, восстановление

      Многие пользователи яблочных девайсов радостно эксплуатируют их и не задумываются о том, что очень желательно на всякий случай периодически делать резевную копию всех контактов. Лично я несколько лет назад был свидетелем ситуации, когда одна девушка-красавица во время проведения международного автмобильного ралли легкомысленно обновила операционную систему своего iPhone до какой-то очередной iOS XXX, но что-то...




      Как скрыть NavigationBar у первого ViewController (Swift)
      Как скрыть NavigationBar у первого ViewController (Swift)

      Иногда на первом ViewController необходимо не отображать NavigationBar, так как он он пустой (не имеет кнопок навигации). В Swift это можно сделать с помощью небольшого куска кода, вставленного в требуемый VeiwController внутрь функции viewWillAppear:




      Несовпадение формата и расширения XLS-файла
      Несовпадение формата и расширения XLS-файла

      При экспортировании отчета в виде XLS-файла из Salesforce с помощью кнопки "Export Details" при последующем открытии этого Excel-файла на компьютере офис показывает предупреждение о том, что формат файла не совпадает с его расширением: Можно нажать на кнопку "Да", чтобы открыть файл. Или нажать на кнопку "Нет", чтобы не открывать :) Справку Microsoft вообще смысла нет открывать - там нет нужной информации.




      Специализированные DOZORные программы
      Специализированные DOZORные программы

      У каждой команды, которая играет в DOZOR должен быть штаб. Обычно штаб размещается в квартире или в доме одного из игроков команды, иногда на работе одного или нескольких игроков. Второе - сложнее, т.к. при этом надо быть в очень хороших отношениях с начальством или быть этим самым начальством! :) Помимо стандартного обеспечения компьютерами, Интернетом, кофе, чаем, пивом и другими необходимыми полезностями и...



Яндекс.Метрика
Сайт работает на быстром VPS/VDS хостинге от FASTVPS