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

Ограничения для 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 

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


      Установка IBM MQ на LINUX Debian x64
      Установка IBM MQ на LINUX Debian x64

      Передача информации из одной системы в другую с помощью очередей (Queues) считается самым недёжным вариантом, не даром, очереди часто используются в банковской сфере. Данный функционал может быть реализован с помощью любой из технологий: IBM MQ, Rabbit MQ, Apache Active MQ и др. Некоторые решения являются платными (IBM MQ), некоторые - бесплатными. IBM MQ по  моему мнению является самой крутой...




      Сертификат сервера auto_join_ota_service недействителен
      Сертификат сервера auto_join_ota_service недействителен

      В контуре управления мобильными устройствами MDM-сервера могут находиться как корпоративные планшеты и телефоны, так и устройства, являющиеся собственностью сотрудников организации, так называемые BYOD-устройства (Bring Your Own Device). Иногда при выполнении привязки (Enrollment) к MDM-серверу Apple (Apple Configurator + Profile Manager) BYOD-устройств во время попытки установить профиль...




      Программа для пересчета координат СК-42 - WGS-84
      Программа для пересчета координат СК-42 - WGS-84

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




      14 аэропортов России перестали передавать METAR и TAF
      14 аэропортов России перестали передавать METAR и TAF

      С 12 UTC 18 мая 2017 по решению Росгидромета из международного обмена исключили метеоданные по 14 аэродромам РФ (Письмо от Росгидромета в Росавиацию №140-02969/17И от 27.04.17.). Это значит, что информация METAR и TAF по этим аэродромам с этого момента не будет поступать в международные метеорологические банки данных и, соответственно, будет отсутствовать в базах данных Lufthansa Systems...




      Сбой установки профиля. iPad не активирован
      Сбой установки профиля. iPad не активирован

      При использовании Программы Развертывания (Deployment Program) BYOD при установке профиля регистрации (Enrollment Profile) мобильного устройства на MDM-сервере, установка профиля может не выполнится, а мобильное устройство отобразит сообщение с ошибкой: Сбой установки профиля. iPad не активирован При установке профиля регистрации на контролируемые устройства (supervised devices) такая ошибка не может быть в принципе. Но если планшет является личным устройством, и...




      Параноидальная защита контента сайта от копирования
      Параноидальная защита контента сайта от копирования

      Некоторые жадные владельцы сайтов настолько дорожат своим уникальным содержимым, размещенном в интернете, что порой удивляешься - как они вообще решились на такое - публично это все выложить в сеть?!? :))) Цифровые скряги внедряют в страницы сайта специальные JS-скрипты, блокирующие выделение текста и возможность сделать клик правой кнопкой, добавляют специальные CSS-стили, блокирующие...




      Многофункциональный авиационный калькулятор
      Многофункциональный авиационный калькулятор

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



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