Для того, чтобы пользователи приложения не тыкали своими шаловливыми ручками куда попало не могли вводить заведомо не корректный текст, можно реализовать ряд ограничений для них.
На сайтах обычно это реализуется с помощью JS-скриптов, которые, теоретически, могут быть оключены пользователем на глобальном уровне, и все ограничения, реализованные с помощью JS перестанут действовать.
В iOS-приложении пользователь ничего отключить не сможет :)
Дале - примеры кода...
Ситуация: xCode v.10.xx, после импорта свежего сертификата и ключа iphone distribution в Keychain, в нем отображается красным цветом надпись:
Сертификат iphone distribution ненадежен
По умолчанию объект UITextView не имеет границы (в отличие от UITextField). Иногда это не критично, но в некоторых случаях граница для текстового поля все-таки необходима:
Например, когда цвет фона родительского View и нашего UITextView одинаковые, и нет контраста между ними, то пользователям будет не понятно, где находится граница UITextView.
При использовании кастомных цветов для элементов интерфейса приложений могут быть проблемы с их отображением при использовании тёмной темы на устройствах.
Чаще всего тексты могут быть просто плохо читаемы, или совсем не читаемы из-за отсутствия контраста между цветом фона и цветом, например, текстовых меток.
Если содержимое UILabel в интерфейсе мобильного приложения может варироваться от одного короткого слова до двух предложений, то нужно немного постараться, чтобы это выглядело адекватно хорошо на различных устройствах с разными экранами.
Когда UILabel не имеет фиксированного размера и должен меняеться динамически в зависимости от количества текста в нем, то это делается следующим образом:
Функция для вычисления факториала с помощью Swift:
func factorial(_ x: Int) -> Int {if x < 1 {return 1}return x * factorial(x-1)}
Запуск функции:
var z = factorial(-3)print(z)
В некоторых ситуациях пользователям iPhone или iPad может быть не удобно задействовать две руки, чтобы сделать скриншот экрана во время использования приложения, и они были бы счастливы делать это с помощью нажатия на одну кнопку - прямо в интерфейсе приложения.
На самом деле ни разу даже не возникало такой мысли - делать скриншот экрана iPhone с помощью одной кнопки в интерфейсе приложения, пока один товарищ не рассказал, что есть категория пользователей устройств Apple "старой закалки", которым не удобно растопыривать пальцы и задейстывовать две руки для сохранения изображения экрана.
Если xCode при компиляции проекта ругается на часть кода и выдает ошибку, например, такую:
Thread 4: Exception: -[UIKeyboardTaskQueue waitUntilAllTasksAreFinished] may only be called from the main thread.
Это означает, что данный кусок кода должен выполняться в главном потоке, а не в дополнительном.
При публикации приложения в App Store кроме описания программы необходимо добавлять снимки экрана. Скриншоты экрана можно сделать с симулятора.
Но: в iTunes Connect указаны размеры экранов в дюймах, а в xCode при выборе симулятора указаны только модели iPhone и iPad без подробностей, какие у них экраны, соответственно, нужно или помнить размеры всех нужных устройств, или иметь под рукой шпаргалку.
Различные полезности xCode для начинающих. То, что облегчает жизнь разработчику и уменьшает трудоемкость. Простые мелочи, описание которых не требует отдельной статьи.
Конечно, после использования много раз это запомнится, и шпаргалка будет не нужна, но даже в этом случае она может пригодиться другим.
Очередная статья про особенности программы Jeppesen FliteStar/FliteMap, которые не всем известны. Jeppesen FliteStar/FliteMap - программа для предварительного планирования полетов, расчета маршрута с широким набором функций. Jeppesen FliteMap к тому же поддерживает подключение GPS-антенны и запись трека. При создании нового маршрута полета (перелета) в программе Jeppesen FliteStar/FliteMap по умолчанию он...
Какой формат видео поддерживает iPad? На данный момент (лето 2013 года) планшеты iPad поддерживают только 2 формата видеофайлов: 1. MPEG (файлы с расширением *.mp4 и *.m4v) 2. Qick Time (файлы с расширением *.mov) Все другие форматы iPad не поддерживает, и для их просмотра на яблочном планшете необходима конвертация с помощью специальной программы или установка на iPad отдельного приложения для просмотра...
... Разбиваются обычно долб#&бы. Вот сидят десять экипажей, водку пьют. Напились, и вот вдруг один начинает: - Да вот что вы, гражданские, вы летать не умеете. Вот мы военные - круто летаем, закрылки перед взлетом не выпускаем!
Cвященнослужитель и австралийский пастух овец выступают соперниками в одной телевизионной викторине. После того, как были заданы все стандартные вопросы, результат - ничья. Тогда ведущий передачи задает последний решающий вопрос: оба участника должны придумать в течение 5-ти минут стихотворение, в котором бы прозвучало слово "Тимбукту" (для справки - это город в республике Мали, который в свое...
Программа Jeppesen Mobile TC является первым коммерческим аэронавигационным продуктом от фирмы Jeppesen для iPad. Программа включает в ребя 2 раздела: схемы аэродромов (кроки, заход на посадку, SID, STAR и др.) и текстовая часть сборников Jeppesen (ATC, Airport Directory, Meteorology и др...). В 2011 году Jeppesen анонсировал следующую программу - Jeppesen Mobile Flite Deck (Jepp Mobile FD),...
В школе на информатике в 9 классе детям преподают Python! Вообще, это классно и лучше всяких бейсиков, фортранов и паскалей. Главное, чтобы преподаватель мог хорошо объяснить и заинтересовать детей в программировании. Соответственно, родителям приходится разбираться с домашними и самостоятельными работами по программированию:)
Новый комп с установленной операционной системой MS Windows 10 Pro (система практически девственно чистая :). Java установлена. Graphviz установлен. Свежая установка программы Microsoft Visual Studio Code. В Visual Studio Code установлен компонент - PlantUML by Jebbs, но он не отображает диаграммы! Никакие. Совсем. Даже не пытается, никакие ошибки не отображаются.