Я хочу нарисовать простую фигуру в симуляторе iPhone при нажатии кнопки. Я могу нарисовать его на экране с помощью QuartzView без создания события для кнопки. Однако я хочу нарисовать фигуру одним нажатием кнопки при генерации события. Я попытался написать метод IBAction для кнопки как в QuartzView, так и в UIViewController. Однако я не могу создать событие. Может кто поможет?
Нарисуйте фигуру в QuartzView нажатием кнопки в симуляторе iPhone.
Ответы (2)
напишите следующий код внутри файла viewcontroller. Это будет работать:-
-(IBAction) getLine:(id) sender{
CGPoint currentPoint;
currentPoint.x=45;
currentPoint.y=458;
lastPoint.x=445;
lastPoint.y=534;
UIGraphicsBeginImageContext(self.drawImage.frame.size);
[drawImage.image drawInRect:CGRectMake(0, 0, self.drawImage.frame.size.width, self.drawImage.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.0, 0.5, 0.6, 1.0);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
Не стесняйтесь спрашивать о чем-нибудь еще.
person
Anil Kothari
schedule
21.11.2011
Метод drawImage выдает ошибку все три раза, когда я использовал его во ViewController. Как вы написали метод drawImage? Ошибка заключалась в том, что свойство drawImage не было найдено в ViewController.
- person meghaljani; 22.11.2011
drawimage - это не метод. это экземпляр UIImageView. поэтому создайте экземпляр UIImageView в файле .h .... IBOutlet UIImageView * drawImage; Перетащите UIImageView из библиотеки объектов в представление. Выполните сопоставление между UIImageView и drawImage. Я создал такой тип приложения, чтобы оно определенно работало. Просто попробуйте еще раз. Сообщите, возникла ли проблема.
- person Anil Kothari; 22.11.2011
Точнее, drawImage как есть - это свойство, указывающее на UIImageView. Если вы не хотите создавать свойство, просто удалите его. и все будет хорошо. Я также добавил объявление для CGPoint lastPoint; в конце концов, этот быстрый пример кода был именно тем, что я искал!
- person Daniel Monteiro; 24.02.2013
Вам нужно убедиться, что ваш IBAction для кнопки выглядит так:
- (IBAction)buttonPressed:(id)sender {
}
с соответствующим
- (IBAction)buttonPressed:(id)sender;
в шапке. Затем он должен появиться как выход в Интерфейсном Разработчике.
person
jrtc27
schedule
21.11.2011
Я сделал это как в viewcontroller, так и в quartzview; это не работает.
- person meghaljani; 21.11.2011
Правильно ли вы установили владельцем файла свой собственный класс вместо общего в IB?
- person jrtc27; 21.11.2011
Да, я сделал. IBAction связано с кнопкой. Проблема в том, что QuartzView и ViewController не могут обмениваться данными.
- person meghaljani; 22.11.2011
Является ли quartzview подвидом контроллера представления? Это добавлено в ИБ или программно?
- person jrtc27; 22.11.2011