Как я могу ограничить подпредставление, чтобы оно не могло быть перетащено за пределы родительского представления. (IOS)
Как ограничить положение подпредставления в его родительском представлении. У меня есть подпредставление в UIView. Подвид можно перетащить через распознаватель жестов. Как я могу ограничить подпредставление, чтобы оно не могло быть перетащено за пределы родительского представления.
1 ответ
Чтобы ограничить перетаскиваемый вид, вам нужно проверить его положение при перемещении, а затем принудительно установить его в ограниченное положение, если оно выходит за границы. Итак, если вы используете touchesMoved
:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
...
CGRect frame = mySubview.frame;
if (frame.origin.x < boundaryX) { //frame exceeds the horizontal boundary
frame.origin.x = boundaryX;
mySubview.frame = frame;
}
}
так что если предположить, что borderX является источником родительского представления, то таким образом подпредставление никогда не превысит эту границу. Вы должны сделать то же самое для происхождения y
а также x + width
а также y + height
делать ограничения со всех сторон.
надеюсь это поможет.