Для того, чтобы пользователи приложения не тыкали своими шаловливыми ручками куда попало не могли вводить заведомо не корректный текст, можно реализовать ряд ограничений для них.
На сайтах обычно это реализуется с помощью JS-скриптов, которые, теоретически, могут быть оключены пользователем на глобальном уровне, и все ограничения, реализованные с помощью JS перестанут действовать.
В iOS-приложении пользователь ничего отключить не сможет :)
Дале - примеры кода...
func onlyDigitsAllowed(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard CharacterSet(charactersIn: "0123456789").isSuperset(of: CharacterSet(charactersIn: string)) else {
return false
}
return true
}
@IBAction func digitLimitSize(_ sender: UITextField) {
if sender.text!.lengthOfBytes(using: String.Encoding.utf8) > 2 {
sender.text = String(sender.text!.prefix(2))
}
}
В данном примере - это 2-значное число.
Ограничение настроено на событие Editing Changed.
Добавить во ViewController 3 строчки - объявить 1 переменную и 2 константы:
class ViewController: UIViewController {
let minValue = 1
let maxValue = 99
lazy var valuesRange = minValue...maxValue
// остальной код приложения:
}
После кода ViewController добавить расширение (Extension):
extension ViewController {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let newText = NSString(string: textField.text!).replacingCharacters(in: range, with: string)
if newText.isEmpty {
return true
}
return valuesRange.contains(Int(newText) ?? minValue - 1)
}
}
Минусы данного варианта:
1. Минимальное число всегда должно быть единица (1), иначе не получится ввести двузначное число, начинающееся на цифру менее minValue (например, если установаить minValue = 3, то никто не сможет ввести в текствое поле числа 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29). Если для функционала приложения разрешенный диапазон чисел должен начинаться с 1, то данное ограничение не будет влиять на работу.
2. Данное ограничение будет распространяться на все текстовые поля (UITextField). Чтобы такого не было, придется немного дополнительно поколдовать с кодом.
В сети интернет есть несколько сервисов, которые могут сообщить IP-адрес сайта. Зачастую, эти сайты кроме ввода имени домена требуют ввести капчу, иногда имя и адрес электронной почты... - вот такая бюрократия! Для того, чтобы определить IP-адрес DNS-сервера, к которому относится сайт, точнее его доменное имя, и без ввода всяких дополнительных даных, существует несколько способов. Самый простой - это через...
До появления операционных систем Windows Vista и Windows 7 очередность загрузки можно было установить, отредактировав файл C:\boot.ini В висте и семерке это уже не прокатит. Если у вас была установлена операционная система Windows XP, а потом вы дополнительно установили Висту или 7-ку, последняя установленная операционка и будет загружаться первой по умолчанию при включении компьютера.
Какой формат видео поддерживает iPad? На данный момент (лето 2013 года) планшеты iPad поддерживают только 2 формата видеофайлов: 1. MPEG (файлы с расширением *.mp4 и *.m4v) 2. Qick Time (файлы с расширением *.mov) Все другие форматы iPad не поддерживает, и для их просмотра на яблочном планшете необходима конвертация с помощью специальной программы или установка на iPad отдельного приложения для просмотра...
В очередной раз откроем словарик и начнем удивляться смыслу перевода некоторых английских фраз и выражений. Что поделать? - Сленг! Вот вам выражения, в которых используются части человеческого тела (BODY PARTS), использование их в повседневной английской речи и сравнение с русскими аналогами. 1. TO LEND SMB A HAND (досл. «одалживать руку»). По-русски это означает: помогать кому-либо. Пример: This box is heavy....
Для того, чтобы ваш сайт разные люди могли находить через свои любимые поисковые системы, будь то Яндекс, Гугл, Рамблер и др., нужно, чтобы эти самые поисковые системы проиндексировали ваш сайт. Сами они это делают очень редко, не удивлюсь нисколько, если они это саомостоятельно ВООБЩЕ НИКОГДА не делают. Так вот, поэтому нужно им дать волшебный пендель, а именно - оформить запрос на индексацию. Сроки индексации...
Если у Вас слабое зрение, но, тем не менее, вы хотите пользоваться планшетом iPad, специально для вас Apple предусмотрел возможность увеличения размера шрифта в Ipad. Но имеются некоторые ограничения: изменение размера шрифта возможно только для сообщений электронной почты, записей календаря и для списка контактов. В остальных приложениях, как от Apple, так и от сторонних разработчиков ПО шрифт не...
Всех авиационных специалистов поздравляем с новым 2016-ым годом! Желаем вам безопасных полетов, хорошей погоды и безотказной техники! Для вас открытка от Jeppesen - прикольная схема захода на посадку по GPS: