Цель C: начальная точка и конечная точка
-
27-10-2019 - |
Вопрос
Я делаю рисунок с приложением для пальцев.
Я хочу установить начальную точку и конечную точку.
Мой проект такой, у него есть фон, который скажет вам направление для рисования. Когда пользователь достигнет конечной точки, фон изменится.
Я попробовал это ... на штрихах началось ...
drawPoint = [touch locationInView:self.view];
CGRect writingStartPoint = CGRectMake(90, 800, 30, 30);
CGRect writingEndPoint = CGRectMake(390, 800, 30, 30);
if (CGRectContainsPoint(writingStartPoint, drawPoint))
{
//something
}
if (CGRectContainsPoint(writingEndPoint, drawPoint))
{
//change background
}
это не работает.
Есть другой способ?
Решение
Вы должны проверить это Touch в конце прямоугольника на прикосновении перемещен или окончательно
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint drawPoint = [touch locationInView:self.view];
CGRect writingStartPoint = CGRectMake(90, 800, 30, 30);
if (CGRectContainsPoint(writingStartPoint, drawPoint))
{
//something
}
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint drawPoint = [touch locationInView:self.view];
CGRect writingEndPoint = CGRectMake(390, 800, 30, 30);
if (CGRectContainsPoint(writingEndPoint, drawPoint))
{
//change background if you want user see change without lift finger up
}
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint drawPoint = [touch locationInView:self.view];
CGRect writingEndPoint = CGRectMake(390, 800, 30, 30);
if (CGRectContainsPoint(writingEndPoint, drawPoint))
{
//change background when user lift finger up
}
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
// handle cancel event
}
Не связан с StackOverflow