Прямо сейчас вы делаете что-то вроде этого:
- Получите точку от телефона А, которая составляет 100 х 100 пикселей. Точка находится в точке x: 30, y: 40.
- Отображение точки на телефоне B, которая составляет 200 x 200 пикселей.
Точка будет ближе к верхнему левому углу. потому что CGPoint (x: 30, y: 40) находится ближе к верхнему левому углу телефона с более высокой плотностью пикселей.
Вместо этого попробуйте следующее: 1. Получите точку от телефона A, которая равна 100 х 100 пикселей. Затем разделите на высоту и ширину. Точка - CGPoint (х: 0,3, у: 0,4). 2. Отобразите точку на телефоне B, умножив ее на ширину и высоту. 0,3 * 200 = 60, 0,4 * 200 = 80. Теперь точка будет отображаться правильно.
Это будет работать только в том случае, если два телефона имеют одинаковое соотношение сторон, в противном случае изображение будет растягиваться для заполнения цели. телефон.