2014-12-10 3 views
1

Привет, ребята У меня есть существующий UIImageView с переменной в координатах X и Y. Изображение должно двигаться в соответствии с текущей позицией, но я не знаю, как получить текущие координаты.Получить позицию UIImageView

 picture = UIImageView(frame: CGRectMake(corx, cory, 25, 25)) 

Я надеюсь, что вы более умные ребята могут мне помочь.

+0

Если вы нашли какие-либо из ответов полезных вы должны принять один из них ... это этикет :) – Moonwalker

+0

Не успело еще время, чтобы попытаться ответами из. Если я найду полезный ответ, я собираюсь их принять. –

ответ

1

Вы можете получить координаты представления двумя различными способами.

picture.bounds - Границы границ, которые описывают местоположение и размер представления в собственной системе координат.

picture.frame - прямоугольник рамки, который описывает местоположение и размер представления в его системе координат супервизора.

В обоих случаях компонент размера должен быть одинаковым.

В коде ниже координат будет отображаться исходная координата (corx, cory).

CGPoint origin = picture.frame.origin 

Возможно, вы захотите использовать picture.frame.origin для анимирования своего вида. Вы всегда можете сказать picture.frame = <new frame>, как только вы создали свой экземпляр, и отрегулируйте начало этого нового кадра.

Пример

CGRect r = picture.frame; 
r.origin.x += 10; 
r.origin.y += 10; 
picture.frame = r; 

Это не будет гладкой анимации, хотя - вы можете оживить кадр свойства с помощью CoreAnimation для плавного перехода.

Надеется, что это помогает

1

Просто получить кадр изображения:

picture.frame.origin.x 
picture.frame.origin.y 
+0

Зачем менять исходный ответ: picture.frame.origin.x и т. Д. Это казалось более ясным/правильным ... –

+0

Если я не понимаю вопрос OP ... Что очень возможно ... –

+0

Хорошо точка. Я перечитывал этот вопрос и думал, что он имеет в виду общий взгляд. Но вы правы - картина имеет больше смысла –

0

Используйте координаты х и у из кадра зрения вы хотите, чтобы базировать его прочь. Все, что унаследовано от UIView, будет иметь связанный с ним фрейм.

var picture = UIImageView(frame: CGRectMake(view.frame.origin.x, view.frame.origin.y, 25, 25)) 
Смежные вопросы