2012-05-11 2 views
0

Мне нужно разделить UIImage на 9 кнопок. Теперь у меня есть девять кнопок, полностью занимающих весь экран iPad, но я хочу обрезать большое изображение в девяти местах, в частности, на размер/положение кнопок.Обрезать UIImageView в 9 частях

Теперь у меня есть этот код:

CGRect cropRect = CGRectMake(button.frame.origin.x, button.frame.origin.y, button.frame.size.width, button.frame.size.height); 
CGImageRef croppedImage = CGImageCreateWithImageInRect([image CGImage], cropRect); 

[button setImage:image forState:UIControlStateNormal]; 

CGImageRelease(croppedImage); 

Но, все кнопки с указанием того же изображения.

У любого есть представление о том, что происходит и как решить эту проблему (обрезание изображения в девяти частях по X, Y, ширине и весу кнопки)?

Я действительно новый в этом.

--EDIT--

Я только что изменил:

[button setImage:[UIImage imageWithCGImage:croppedImage] forState:UIControlStateNormal]; 

Спасибо, Мартин Pilch! :-)

+0

Вашего 'cropRect' вероятные результаты в том же значении для каждой кнопки, вероятно, из-за того, что его происхождение' (0,0) ' - вы должны проверить это значение, используя 'NSLog' или тому подобное. Вам нужно убедиться, что для каждой кнопки для точки генерации значение «cropRect» отличается. Вы могли бы выполнить это, используя цикл for или тому подобное. – modocache

+0

@modocache, происхождение меняется нормально. –

+0

О, мой плохой. Когда вы говорите «все кнопки показывают одно и то же изображение», какое изображение они показывают? Тот, который задан с использованием рамки для первой кнопки или последней? Или нет? – modocache

ответ

0

Вы устанавливаете исходное изображение на кнопки. Попробуйте установить его таким образом:

[button setImage:[UIImage imageWithCGImage:croppedImage] forState:UIControlStateNormal]; 

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

+0

О, Мартин, спасибо! Я не знаю, как я не могу понять это раньше. –

Смежные вопросы