2009-04-02 5 views
0

Я определил UIImageView в моем nib. После запуска приложений я показываю изображение в этом UIImageView. Возможно, я ошибаюсь, но я хочу сделать следующее:Как изменить положение внутреннего изображения UIImageView?

Изображение, которое я загружаю в представление, больше, чем сам вид. Я хочу, чтобы он отображался в оригинальном размере со скрытым наложением. Затем я хочу медленно перемещать это изображение внутри этого вида в случайных направлениях.

Возможно, вы знаете контейнеры html div с фоновыми изображениями. там вы можете установить положение этого фонового изображения и изменить эту позицию с помощью JavaScript. Мне нужно что-то подобное на iPhone.

Возможно, UIImageView не подходит для этого? Или я должен установить UIImageView в полный размер этого изображения, а затем медленно перемещать UIImageView? Может ли он быть больше, чем экран iPhone?

ответ

1

Это суть моего ответа на почти такой же вопрос:

Существует не простой метод класса, чтобы сделать это, но есть функция, которую вы можете использовать, чтобы получить желаемые результаты: CGImageCreateWithImageInRect (CGImageRef, CGRect) поможет вам.

Вот небольшой пример его использования:

CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect); 
[UIImageView setImage:[UIImage imageWithCGImage:imageRef]]; 
CGImageRelease(imageRef); 
+0

я думаю, что для перемещения его, было бы неплохо, если производительность обрезки большого изображения 15 раз в секунду. Я просто перемещаю рамку сейчас, у которой размер изображения. отлично работает для меня :), но спасибо, что код обрезки тоже может быть полезен. – Thanks