- (void)viewDidPan:(UIPanGestureRecognizer*)sender
{
CGPoint
p = [sender
translationInView:self.superview];
if(sender.state == UIGestureRecognizerStateBegan){
_initialPoint = self.center;
}
CGFloat newCenterX = _initialPoint.x + p.x;
if (newCenterX <0) {
newCenterX = 0;
}else if (newCenterX > self.superview.bounds.size.width) {
newCenterX = self.superview.bounds.size.width;
}
CGFloat newCenterY = _initialPoint.y + p.y;
if (newCenterY < 0) {
newCenterY = 0;
}else if (newCenterY > self.superview.bounds.size.height) {
newCenterY = self.superview.bounds.size.height;
}
self.center = CGPointMake(newCenterX, newCenterY);
if(sender.state == UIGestureRecognizerStateBegan){
_initialPoint = self.center;
}
CGFloat newCenterX = _initialPoint.x + p.x;
if (newCenterX <0) {
newCenterX = 0;
}else if (newCenterX > self.superview.bounds.size.width) {
newCenterX = self.superview.bounds.size.width;
}
CGFloat newCenterY = _initialPoint.y + p.y;
if (newCenterY < 0) {
newCenterY = 0;
}else if (newCenterY > self.superview.bounds.size.height) {
newCenterY = self.superview.bounds.size.height;
}
self.center = CGPointMake(newCenterX, newCenterY);
}
本文详细阐述了如何在iOS应用中实现视图滑动时的响应机制,通过使用UIPanGestureRecognizer来捕捉滑动事件,并根据滑动位置调整视图中心坐标,确保视图始终保持在屏幕内。
1143

被折叠的 条评论
为什么被折叠?



