У меня есть подкласс UIView, содержащий несколько подзаголовков, которые я хочу перетащить & в один из нескольких UIView, которые содержатся в UICollectionView. Когда начинается перетаскивание, я хотел бы масштабировать перетаскиваемый вид от его текущего размера до чего-то меньшего на время перетаскивания (оригинал слишком велик, чтобы удобно разрешить выбор целевой цели без его первоначального масштабирования). Пока что, у меня есть это:IOS Перетаскивание с масштабированием
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.superview bringSubviewToFront:self];
self.transform = CGAffineTransformMakeScale(0.3f, 0.3f);
startLocation = ([[touches anyObject] locationInView:self]);
startLocation = CGPointApplyAffineTransform(startLocation, self.transform);
}
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint pt = [[touches anyObject] locationInView:self];
float dx = pt.x - startLocation.x;
float dy = pt.y - startLocation.y;
CGPoint newCenter = CGPointApplyAffineTransform (CGPointMake(self.center.x + dx, self.center.y + dy), self.transform);
self.center = newCenter;
}
Это начало, как весы перетаскиваемую UIView, как я хочу его, и позволит мне перетащить его; однако перетаскиваемый UIView не перемещается напрямую с указателем мыши (я запускаю симулятор). Когда изображение находится рядом с верхним левым углом экрана симулятора, указатель мыши & перетаскивает вид; но когда я отхожу от верхнего правого угла экрана, вид больше не перемещается непосредственно с указателем мыши; указатель мыши, по-видимому, перемещается примерно в соотношении 2: 1 к перемещению вытащенного UIView.
Вторичная проблема заключается в том, что когда перетаскивание заканчивается, если элемент не отбрасывается, мне нужно вернуть UIView до его первоначальной шкалы, прежде чем присоединять его к его супервину, и не совсем поняли, как это сделать ,
Цените любую помощь, в том числе предложения относительно лучшего подхода, если я полностью отслежу здесь. (Я знаю, что есть еще кое-что, что нужно сделать, чтобы изолировать цель падения и сбросить, но я думаю, что знаю, что там нужно сделать).
Спасибо за любые рекомендации.
регулярное выражение
Хорошо, я понял, и я подумал, что отправлю код, в котором я оказался, если кому-то это понадобится. Я нашел еще одну статью с аналогичной проблемой: – RegularExpression