首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >滑动护腕iOS

滑动护腕iOS
EN

Stack Overflow用户
提问于 2014-04-23 00:48:03
回答 1查看 49关注 0票数 0

我想创建一个滑动的“视图”。我希望能够从页面底部拉出它。我正在寻找的最接近的例子是惩罚护腕。我希望能够根据需要上下滑动此视图的位置。有没有人有什么好办法可以做到这一点?我曾四处寻找过这样的例子,但我还没有见过这样的例子。

EN

回答 1

Stack Overflow用户

发布于 2014-04-23 01:47:05

我认为你可以使用UIPanGestureRecognizer:

代码语言:javascript
复制
- (void)viewDidLoad
{
    [super viewDidLoad];


    UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget: self action: @selector(panGestureRecognized:)];
    [panRecognizer setDelegate:self];
    [panRecognizer setCancelsTouchesInView: YES];
    [panRecognizer setMinimumNumberOfTouches:1];
    [panRecognizer setMaximumNumberOfTouches:1];

    [self.handleImage addGestureRecognizer: panRecognizer];


    firstX = [self.handleImage center].x;
    firstY = [self.handleImage center].y;

}


-(void)panGestureRecognized:(id)sender {

    [self.view bringSubviewToFront:[(UIPanGestureRecognizer*)sender view]];
    CGPoint translatedPoint = [(UIPanGestureRecognizer*)sender translationInView:self.view];

    UIPanGestureRecognizer* panRecognizer = (UIPanGestureRecognizer*)sender;

    if ([panRecognizer state] == UIGestureRecognizerStateBegan) {
        firstX = [[panRecognizer view] center].x;
        firstY = [[panRecognizer view] center].y;
    }

    int nextPosition = firstY+translatedPoint.y;

    if(nextPosition > MIN_Y && nextPosition < MAX_Y){

        CGPoint certainPositin = CGPointMake([self.curtainView center].x,-(self.curtainView.frame.size.height)  + (nextPosition - 17));

        translatedPoint = CGPointMake(firstX,nextPosition);

        [[panRecognizer view] setCenter:translatedPoint];

        [self.curtainView setCenter:certainPositin];

    }


    if ([panRecognizer state] == UIGestureRecognizerStateEnded) {
        //Gesture ended

    }

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23225586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档