【问题标题】:Moving UIButton around移动 UIButton
【发布时间】:2010-05-03 16:36:59
【问题描述】:

我尝试在菜单中上下移动 UIButton。 我在以下解决方案中遇到的问题是计时器不准确。有时按钮向上移动 122 像素,有时仅移动 120 像素。我该如何解决这个问题?

    -(IBAction)marketTabClicked:(id)sender {

    if (marketTabExtended) {
        NSLog(@"marketTabExtended = YES");
        return;
    }
    else {
        if (iPhoneAppsExtended) {
            timer = [NSTimer scheduledTimerWithTimeInterval:0.005 target: self selector: @selector(animateItemApps) userInfo: nil repeats: YES];
        }
        else {
            if (homepageExtended) {
                timer = [NSTimer scheduledTimerWithTimeInterval:0.005 target: self selector: @selector(animateItemHomepage) userInfo: nil repeats: YES];
            }
            else {
                timer = [NSTimer scheduledTimerWithTimeInterval:0.005 target: self selector: @selector(animateItemMarketing) userInfo: nil repeats: YES];
            }

        }

    }

    [self performSelector:@selector(stopTimer) withObject:self afterDelay:0.605];
    iPhoneAppsExtended = NO;
    homepageExtended = NO;
    marketTabExtended = NO;
    marketTabExtended = YES;

}



-(void)animateItemApps {
    CGPoint movement;
    movement = CGPointMake(0, -1);
    homepage.center = CGPointMake(homepage.center.x, homepage.center.y + movement.y);
}

-(void)animateItemHomepage {
    CGPoint movement;
    movement = CGPointMake(0, 1);
    homepage.center = CGPointMake(homepage.center.x, homepage.center.y + movement.y);
    //marketTab.center = CGPointMake(marketTab.center.x, marketTab.center.y + movement.y);
}

-(void)animateItemMarketing {
    CGPoint movement;
    movement = CGPointMake(0, -1);
    //marketTab.center = CGPointMake(marketTab.center.x, marketTab.center.y + movement.y);
    homepage.center = CGPointMake(homepage.center.x, homepage.center.y + movement.y);
}

-(void)stopTimer {
    [timer invalidate];
}

【问题讨论】:

    标签: iphone objective-c ipad


    【解决方案1】:

    为什么不用 UIView 动画块?

    [UIView beginAnimations:nil context:nil];
    //Change UIButton frame here
    [UIView commitAnimations];
    

    在动画块(评论所在)中所做的更改,将在commitAnimations 之后进行动画处理。

    查看类数学以获取更多选项:http://tinyurl.com/34y8j5o

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多