Я хотел бы знать, существует ли способ перетаскивания изображений между UIImageViews, чтобы при перетаскивании изображения из одного UIImageView оно отображалось по центру в следующем UIImageView.
Я делаюочень маленькое шахматное приложение, которое я разрабатываю просто для удовольствия :) У меня есть простая настройка: фон доски и UIImageView для всех ячеек.До сих пор мне удавалось успешно перетаскивать изображения с доски с помощью UITouch и CGPoint.Моя проблема в том, что я могу перетаскивать эти изображения в любое место моего приложения;то есть друг над другом, между ячейками, на полпути за пределами доски и т. д., так что это определенно какая-то проблема границы.
Мой код для обработки событий перетаскивания:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:[self view]];
for (UIImageView *piece in chessCells) {
if([touch view] == piece){
piece.center = touchLocation;
}
}
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
[self touchesBegan:touches withEvent:event];
}
О цикле for: Все ячейки на моей доске - это пустые IBOutlets с UIImageViews, которые я организую, храня их в NSArray, называемом chessCells.У меня есть метод, который отображает изображения в соответствующих ячейках при запуске приложения.С этого момента я смогу схватить их и свободно перемещать по шахматной доске ... но, как я обнаружил, слишком свободно.
Я читал множество форумов и проходил черезмножество учебных пособий, а также онлайн-документация, поэтому я многому учусь, потому что извиняюсь за недостаток опыта.
Любая помощь будет принята с благодарностью:)