Количество пикселей на каждой стороне устройства с сетчаткой в два раза больше, чем на устройстве без сетчатки. При использовании UIPanGestureRecognizer я могу получить скорость панорамирования в пикселях/секунду в системе координат указанного представления, вызвав - (CGPoint)velocityInView:(UIView *)view, но нужно ли мне делить возвращаемое значение на 2, чтобы получить правильная скорость? Я прочитал документ от Apple, разработчик не заботится о проблеме x2. Но комментарий в UIPanGestureRecognizer.h меня смущает.
GestureRecognizer на экране Retina
comment
Чтение одной строки документации даст ответ на этот вопрос.
- person Eiko   schedule 04.10.2012
Ответы (1)
Нет, он возвращает его в points
в секунду, то есть не в пикселях в секунду.
Apple выбрала points
в качестве единицы, потому что она не зависит от pixel densitiy
экрана. Это означает, что 3G и iPhone 4 имеют одинаковый результат с этим распознавателем жестов. У iPhone5 экран больше, но это ничего не меняет в отношении того, что возвращает распознаватель.
Таким образом, к вашему ответу: нет, вы не должны делить его на 2, Apple заботится о своих API.
person
Antwan van Houdt
schedule
04.10.2012
Спасибо вам за ваш быстрый ответ! В UIPanGestureRecognizer.h я обнаружил, что: - (CGPoint)velocityInView:(UIView *)view; // скорость панорамирования в пикселях/секунду в системе координат указанного вида. Этот комментарий от Apple меня смущает. Еще раз спасибо.
- person Henry Law; 04.10.2012
@HenryLaw Это странный комментарий .. но в документации речь идет о баллах в секунду, что в любом случае имеет гораздо больше смысла
- person Antwan van Houdt; 04.10.2012