весы на айфон приложение для взвешивания золота
3DTouch – Весы на iPhone: Начало
После выхода на рынок iPhone 6s и iPhone 6s Plus с экранами, которые поддерживают технологию 3D Touch, в App Store практически сразу появилось приложение для взвешивая слив и персиков.
Не могу с уверенностью сказать почему именно этих фруктов, но могу сказать однозначно почему именно фруктов. Дело в том, что сенсор экрана iPhone работает по принципу определения утечки тока с поверхности сенсора, а для этой самой утечки нужен живой палец либо что-то, что обладает электрической емкостью. Думаю, каждый знает, что на пластиковые стилус или ноготь экраны i-девайсов не срабатывают. Именно поэтому взвесить на том приложении что-то металлическое не получалось. Но фрукты имеют электрическую емкость, на них срабатывает сенсор и нормально срабатывает непосредственно 3D Touch.
Очень быстро это приложение было удалено из App Store. Лично мне кажется, что это было сделано из-за недалеких пользователей, которые попытались взвесить на своих устройствах пудовые гири. Разумеется, устройства сломались и они их понесли в сервисные центры. А там они сказали что-то из серии: «Приложение скачано из официального магазина, и там не предупреждали, что нельзя…».
В итоге, подобных приложений нет в магазине, но никто нам не помешает создать его для себя.
Задача
Нам нужно написать приложение, которое состоит из одного контроллера, на котором будут приглашающая надпись, нарисованный круг в центре экрана, индикаторы веса в граммах и процентов от определяемой силы (дальше по тексту будет понятнее). При нажатии на экран в месте касания будет появляться круг, который будет увеличиваться или уменьшаться в зависимости от силы нажатия. Сразу нужно сказать, что на симуляторе подобное приложение протестировать не получится. Поэтому нужно будет запускать приложение на реальном устройстве. По окончанию должно получиться вот такое приложение:
Создание проекта
Октройте XCode, выберите создание нового проекта, шаблон Single View Application
Построение интерфейса в Xcode
Перейдите в Storyboard, перетащите из библиотеки элементов на контроллер несколько UILabel, разместите их ближе к верхнему или нижнему краев контроллера. У меня получилось так:
Для эстетической привлекательности место куда будем класть предметы мы выделим красной окружностью. Можно взять уже готовую картинку с кругом, но это же не наш метод)). Круги мы нарисуем методами Core Graphics. Удобнее будет создать класс-наследник от UIView и уже с ним работать.
Добавьте в проект новый файл, назовите его ScaleView. Создайте в этом файле класс ScaleView который наследуется от UIView.
Далее перейдите в StoryBoard, перенесите на контроллер из библиотеки элементов UIView и расположите его в центре нашего контроллера. Выберите только что добавленный UIView и в Identity Inspector задайте класс ScaleView, который мы создали ранее.
Также с помощью констрейнтов можно задать правила взаимного расположения элементов на экране. У меня это выглядит вот так:
Рисуем круги
Перейдите в файл ScaleView.swift. В классе ScaleView мы создали метод draw(_ rect:), который мы будем использовать для рисования внутри области отображения этого UIView.
Добавьте следующий код в метод draw(_ rect:)
Вся магия в директиве @IBDesignable. Отметьте этой директивой класс ScaleView
После этого перейдите в StoryBoard, немного подождите и вы увидите нарисованную красную окружность в центре ViewController
Давайте потренируемся и нарисуем еще один круг поменьше и потоньше. Для этого в файле ScaleView в метод draw(_ rect:) добавьте следующий код:
Думаю, понятно и так что мы добавили. По сути мы добавили еще одну окружность, серого цвета, радиусов в четверть ширины ScaleView и шириной в одну точку.
Результаты в StoryBoard:
Финалом наших подготовительных работ будет создание аутлетов для ScaleView и двух UILabel, который буду показывать силу нажатия на экран в процентах и вес в граммах. Ctrl-перетасктвние элементов из ViewController создаст нужные аутлеты.
Непосредственно — весы
Итак, мы вплотную подошли к моменту измерения силы нажатия на экран. Перейдите во ViewController и в методе viewDidLoad() добавьте стартовые значения для всех UILabel
Как и все процессы, связанные с нажатиями на экран, в контроллере их можно отловить в методе touchesMoved(_::). Данный метод срабатывает когда касания экрана происходят во времени. Т.е. Если палец стоит на экране или движется по нему срабатывает этот метод и можно отследить все касания и их свойства. Добавьте его во ViewController и напишите следующий код:
Вся механика iOS приложения Весы заключается в этом методе. Все остальное, что мы будем делать дальше в этом уроке — это доработки. Всю основную работу мы уже сделали. Давайте разбирать по пунктам
Теперь можно компилировать приложение и проверять. Разумеется это нужно делать на реальном устройстве, чтобы увидеть результат. Симулятор не способен эмулировать силовые нажатия на экран.
Доработки
Основной функционал готов, но я при написании этого приложение решил добавить три вещи:
Приложение для iPhone: «умные» весы
Что нового появилось в iPhone 6S? При выпуске этой модели разработчики не остановились на стандартных функциях и снабдили смартфон технологией 3D Touch, которая более чувствительна к взаимодействию владельца с телефоном. В создании последующих моделей яблочных гаджетов эта технология продолжила использоваться, и разработка приложений для мобильных устройств часто опирается именно на 3D Touch.
Умные весы на экране
Несмотря на все новейшие технологии iPhone, все же нашелся умелец, который использовал функцию 3D Touch в необычном ракурсе. Теперь разработка мобильных приложений под ios подарила нам приложение, способное взвешивать предметы, расположенные на экране смартфона.
Автор изобретения – Ашер Трокмен. Свое приложение он назвал TouchScale.co. Он доказал, что «яблочный» гаджет способен не только распознавать предмет, но и оперировать конкретными цифрами.
Для того чтобы активировать приложение, необходимо через Safari открыть ссылку, которая является приложением. Устанавливать программу нет необходимости. Всего лишь понадобится написать в браузере TouchScale.co через iPhone.
Достаточно просто открыть Safari. ввести нужный адрес, и гаджет сам даст вам дальнейшие инструкции.
Нюансы использования «яблочных» весов
Каким бы воодушевляющим ни выглядело новое приложение, но и оно имеет свои подводные камни. Смартфон последнего поколения способен взвесить лишь те предметы и продукты, которые будут обнаружены посредством емкостного сенсорного экрана. Это значит, что вы не сможете взвесить слишком крупные овощи или фрукты. Еще одним важным моментом является то, что предмет должен соприкасаться с экраном телефона лишь в одной точке. Круглые продукты с легкостью будут взвешены при помощи TouchScale.co, а вот с асимметричными предметами эту манипуляцию провести не получится. Изготовление приложений для мобильных устройств пока что не может решить эту проблему.
Погрешность «умных» весов составляет 1–2 грамма, что вполне допустимо для использования в быту. Безусловно, iPhone с новым приложением не станет заменой кухонным весам, но при необходимости может стать прекрасной альтернативой им.
Топ 10 приложений для Android и iOS цифровых весов
Сегодня в этой статье я познакомлю вас с другим приложением, которое было создано разработчиками приложений для вас, чтобы вы могли очень хорошо использовать его на своих устройствах Android или iOS. Приложения являются лучшими приложениями цифрового масштаба для вас. Так вы всегда хотели иметь цифровые весы? Вы хотите произвести впечатление на своих друзей, взвешивая мелкие предметы и вещи, используя ваше умное устройство? Если да, я дам вам список из 10 лучших приложений цифрового масштаба, которые вы можете использовать на своих устройствах Android или iOS сейчас.
Топ 10 приложений для Android и iOS цифровых весов
Кухонные весы
Кухонные весы – первое приложение в этом списке, созданное SxSoft. Предлагает вам отличное приложение для цифровой шкалы, которое вы можете использовать на своих устройствах в качестве точной цифровой шкалы. Используя это приложение, оно позволяет вам измерять вес таких вещей, как соль, сахар, перец, мука и многое другое на вашем Android устройство.
Калькулятор весов
Truck Sale Calculator – еще одно фантастическое приложение, которое вы можете использовать довольно хорошо. Приложение позволяет вам многое сделать и является одним из лучших приложений для цифрового масштаба IOS, Приложение было разработано для платформ с 3-мя или 4-мя осями. И введите показания шкалы с короткой или большой платформы.
Правая шкала нагрузки
Приложение Right Right – это одно из приложений цифрового масштаба, которое вы можете получить на своих устройствах. Приложение позволяет вам многое сделать, как отличное приложение для цифрового масштаба. И легко контролировать вес груза в любое время на вашем IOS устройства. Приложение также идеально подходит для взвешивания всего, что вы хотите. И у него есть другие функции, которые вы хотели бы использовать, например, соединение с цифровой шкалой Bluetooth.
Цифровой симулятор оценки веса без шкалы
Другое приложение, которое вы хотели бы использовать удобно это приложение. Это также позволяет вам многое сделать в Android устройства. Это еще одно фантастическое приложение, созданное Aexol sp. Z.o.o sp.k. Приложение позволяет взвешивать маленькие вещи с помощью телефона, как и большинство других приложений в этой статье.
Точный цифровой баланс
Precision Digital Scale – одно из других приложений цифрового масштаба, которое вы можете хорошо использовать в своих Android устройства. Приложение представляет собой фантастическое приложение, созданное программным обеспечением Rasc. Это приложение превратит ваше устройство в точную цифровую шкалу. И воспользоваться акселерометром. С помощью этого приложения вы можете взвесить любой предмет. Но степень точности приложений зависит от того, как вы используете шкалу.
Связанный: Лучшие 10 Приложений Рецепта Приложения для Android и iOS
Шалость Грамм Симулятор
Это еще одно приложение, которое вы можете использовать на своих устройствах. Он был создан дизайнером VizyyGAmes. И он представляет вам симулятор цифровых весов, который предоставляет вам единицы веса, которые представлены в граммах и килограммах. Кроме того, это позволяет вам установить значение вашего веса. Приложение идеально подходит для взвешивания того, что вы хотите. Поставляется со встроенным Bluetooth-соединением с цифровой шкалой в Android устройства.
Симулятор цифровых весов
Симулятор цифровых весов – это еще одно приложение, которое вы можете использовать в своих Android устройства. Это приложение предлагает вам невероятное приложение-симулятор цифровых весов для оценки веса всех объектов. Приложение для взвешивания мелких вещей в граммах с помощью вашего телефона.
Бесплатные супермасштабные цифровые весы
Это приложение является еще одним из приложений цифрового масштаба, которые вы можете использовать в качестве приложения для цифрового взвешивания для Android устройства. Приложение является подлинным и позволяет взвешивать небольшие предметы. Приложение будет использовать встроенный центр наклона вашего телефона для расчета веса объектов. Кроме того, приложение имеет правильную калибровку и покажет точные результаты, если вы используете его хорошо.
IQ Digital Scale Simulator
Это приложение является еще одним приложением для использования на вашем Android устройства, созданные Sensodroid Ltd. И обладает одной из лучших функций цифрового масштаба. Кроме того, это приложение для имитации цифровых весов, которое можно использовать для представленных единиц измерения веса, таких как кг, унции, г, фунты. И это позволяет вам установить значение вашего веса. Приложение идеально подходит для взвешивания всего, что вы хотите, а также предоставляет вам функцию подключения по цифровой шкале Bluetooth.
Grams Цифровой весы и вес конвертер приложение
Это последнее приложение цифрового масштаба в этой статье, и вы также можете скачать приложение для вашего Android устройства. Приложение было создано RizbiT Apps. Предоставляет вам самые лучшие и точные цифровые весы. Приложение поставляется с преобразователем веса. Он имеет правильную калибровку и при правильном использовании показывает точные результаты.
вывод
Эти приложения являются лучшими приложениями цифрового масштаба, которые вы можете использовать для своих устройств Android и iOS. Кроме того, они поставляются со своими отдельными функциями, которые вы можете использовать по своему усмотрению. Загрузите один и попробуйте сегодня.
Приложение Весы для iPhone с использованием 3D Touch
После выхода на рынок iPhone 6s и iPhone 6s Plus с экранами, которые поддерживают технологию 3D Touch, а App Store практически сразу появилось приложение для взвешивая слив и персиков.
Не могу с уверенностью сказать почему именно этих фруктов, но могу сказать однозначно почему именно фруктов. Дело в том, что сенсор экрана iPhone работает по принципу определения утечки тока с поверхности сенсора, а для этой самой утечки нужен живой палец либо что-то, что обладает электрической емкостью. Думаю, каждый знает, что на пластиковые стилус или ноготь экраны i-девайсов не срабатывают. Именно поэтому взвесить на том приложении что-то металлическое не получалось. Но фрукты имеют электрическую емкость, на них срабатывает сенсор и нормально срабатывает непосредственно 3D Touch.
Очень быстро это приложение было удалено из App Store. Лично мне кажется, что это было сделано из-за недалеких американских пользователей, которые попытались взвесить на своих устройствах пудовые гири. Разумеется, устройства сломались и они их понесли в сервисные центры. А там они сказали что-то из серии: «Приложение скачано из официального магазина, и там не предупреждали, что нельзя…».
В итоге, подобных приложений нет в магазине, но никто нам не помешает создать его для себя.
Задача
Нам нужно написать приложение, которое состоит из одного контроллера, на котором будут приглашающая надпись, нарисованный круг в центре экрана, индикаторы веса в граммах и процентов от определяемой силы (дальше по тексту будет понятнее). При нажатии на экран в месте касания будет появляться круг, который будет увеличиваться или уменьшаться в зависимости от силы нажатия. Сразу нужно сказать, что на симуляторе подобное приложение протестировать не получится. Поэтому нужно будет запускать приложение на реальном устройстве. Как это сделать можно прочитать в статье Запуск и тестирование своих iOS-приложений на устройстве без аккаунта разработчика и без Jailbreak. По окончанию должно получиться вот такое приложение:
Создание проекта
Октройте XCode 8, выберите создание нового проекта, шаблон Single View Application.
Построение интерфейса в Xcode
Для эстетической привлекательности место куда будем класть предметы мы выделим красной окружностью. Можно взять уже готовую картинку с кругом, но это же не наш метод)). Круги мы нарисуем методами Core Graphics. Удобнее будет создать класс-наследник от UIView и уже с ним работать.
Добавьте в проект новый файл, назовите его ScaleView. Создайте в этом файле класс ScaleView который наследуется от UIView.
Далее перейдите в StoryBoard, перенесите на контроллер из библиотеки элементов UIView и расположите его в центре нашего контроллера. Выберите только что добавленный UIView и в Identity Inspector задайте класс ScaleView, который мы создали ранее.
Также с помощью констрейнтов можно задать правила взаимного расположения элементов на экране. У меня это выглядит вот так:
Рисуем круги
Перейдите в файл ScaleView.swift. В классе ScaleView мы создали метод draw(_ rect:), который мы будем использовать для рисования внутри области отображения этого UIView.
Добавьте следующий код в метод draw(_ rect:)
Можно скомпилировать для проверки, однако также можно задать директиву для отображения изменений прямо в Interface Builder. Также как мы делали в циклах статей CALayer, или как закруглить углы, сделать тень и градиент на Swift
Вся магия в директиве @IBDesignable. Отметьте этой директивой класс ScaleView
После этого перейдите в StoryBoard, немного подождите и вы увидите нарисованную красную окружность в центре ViewController
Давайте потренируемся и нарисуем еще один круг поменьше и потоньше. Для этого в файле ScaleView в метод draw(_ rect:) добавьте следующий код:
Думаю, понятно и так что мы добавили. По сути мы добавили еще одну окружность, серого цвета, радиусов в четверть ширины ScaleView и шириной в одну точку.
Результаты в StoryBoard:
Финалом наших подготовительных работ будет создание аутлетов для ScaleView и двух UILabel, который буду показывать силу нажатия на экран в процентах и вес в граммах. Ctrl-перетасктвние элементов из ViewController создаст нужные аутлеты.
Непосредственно — весы
Итак, мы вплотную подошли к моменту измерения силы нажатия на экран. Перейдите во ViewController и в методе viewDidLoad() добавьте стартовые значения для всех UILabel
Как и все процессы, связанные с нажатиями на экран, в контроллере их можно отловить в методе touchesMoved(_::). Данный метод срабатывает когда касания экрана происходят во времени. Т.е. Если палец стоит на экране или движется по нему срабатывает этот метод и можно отследить все касания и их свойства. Добавьте его во ViewController и напишите следующий код:
Вся механика iOS приложения Весы заключается в этом методе. Все остальное, что мы будем делать дальше в этом уроке — это доработки. Всю основную работу мы уже сделали. Давайте разбирать по пунктам
Прежде чем запускать и проверять приложение нужно добавьте еще один метод, который срабатывает в момент, когда все касания на экран прекращаются touchesEnded(::), для того чтобы задать начальное положение наших UILabel и передать в них значения 0% и 0 грамм. Добавьте этот метод в класс ViewController.
Теперь можно компилировать приложение и проверять. Разумеется это нужно делать на реальном устройстве, чтобы увидеть результат. Симулятор не способен эмулировать силовые нажатия на экран.
Доработки
Основной функционал готов, но я при написании этого приложение решил добавьте две вещи:
Два первых пункта я не смогу отобразить ни с помощью скриншотов ни с помощью анимированных gif. Поэтому сделайте дополнения, описанные ниже и проверяете самостоятельно на своих устройствах. А вот третий пункт я продемонстрирую. Но давайте дополнения сделаем все вместе.
Виброотклик Haptic feedback
Импортируем фрэеймворк AudioToolbox перед декларацией класса ViewController, а также добавим свойство isPalySound для исключения многократного проигрывания виброотклика.
Далее внесите изменения в метод touchesMoved(::), чтобы он выглядел следующим образом:
Ничего сложного — при запуске iOS приложения, а в данном случае при инициализации ViewController и создании свойства класса isPlaySound мы включаем возможность проигрывания звуков — в том числе и виброоткликов. При достижении максимальной силы нажатия происходит проверка isPlaySound (1) и если он true то выполняется вибрация и сразу срабатывает запрет (2) на проигрывание вибрации. Этот запрет снимается (3), если сила нажатия становится меньше максимально возможного значения.
Плавность обновления
Теперь про плавность. Обновления надписей присходит очень быстро, со скоростью срабатывания метода touchesMoved(::), а это несколько сотен срабатываний в секунду. Для Уменьшения частоты обновления надписи я добавил свойство класса ViewController isUpdate и поставил наблюдателей свойств didSet.
Суть подобной конструкции в том, что как только мы устанавливаем данное свойство в значение false оно возвращается в значение true через 0,01 секунды. Соответственно при записи текста в UILabel мы будем устанавливать значение свойства isUpdate в значение false и не позволим обновлять надписи пока оно не станет true. Поэтому обновления записей будет происходить у нас не чаще одного раза в сотую доли секунды.
В методе touchesMoved(::) в ветке, где мы выводим показания % силы и веса в граммах измените код следующим образом:
Этого будет достаточно для придания плавности при обновлении надписей
Визуализация касания
Сначала давайте создадим UIView и сделаем его полупрозрачным и круглой формы. Для этого добавим свойство класса ViewController и сделаем первоначальные настройки в методе viewDidLoad()
Свойство есть, в нем есть View, но вот в какой момент его добавить на экран? Логично, что в момент начала касания. Во ViewController нужно добавить метод touchesBegan(::)
Также выбираем из множества касаний первое и работе с этим касанием
В метод touchesMoved(::) в ветке, где обрабатываются проценты и вес в граммах нужно добавьте строку:
Тут мы задаем матрицу трансформации для увеличения размеров cicrcleView по высоте и ширине. Значения которые я передал в эту матрицу — это результат подбора наиболее удобных значений. Подбором методом «тыка». Так что можете поэкспериментировать и выбрать значения, которые удобны вам.
Ну и наконец при завершении касаний нужно отменить трансформацию для cicrleView и убрать его с экрана. У нас уже есть метод, где можно это отработать. В метод touchesEnded(::) добавьте две строки:
Полностью код ViewController выглядит так: