• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iphone - 带有按钮的 UIscrollview 中的动画

[复制链接]
菜鸟教程小白 发表于 2022-12-13 13:17:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我已经尝试过 iCarousel,并将其添加到我的项目中。我能够放置图像。现在我正在尝试实现一种方法,当单击按钮时,轮播将旋转。 我试过这段代码:

- (IBAction) spinButtonid)sender
{

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.75];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:carousel
                             cache:YES];
    [spinButton removeFromSuperview];
    [UIView commitAnimations];

}

但似乎只有轮播 View 有动画效果。



Best Answer-推荐答案


以下两种方法更改aries可能是您正在解决的问题,

-(void)TappedButtonUIButton *)sender{

    UIView *view=[carousel itemViewAtIndex:sender.tag];
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.75];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:view cache:YES];
    //    [spinButton removeFromSuperview];
    [UIView commitAnimations];
    NSLog(@"%d",sender.tag);
}             
- (UIView *)carouseliCarousel *)carousel viewForItemAtIndexNSUInteger)index reusingViewUIView *)view
{
    UILabel *label = nil;

    //create new view if no view is available for recycling
    if (view == nil)
    {
        view = [[[UIImageView alloc] initWithImage:[UIImage imageNamed"page.png"]] autorelease];
//      label = [[[UILabel alloc] initWithFrame:view.bounds] autorelease];
//      label.backgroundColor = [UIColor clearColor];
//      label.textAlignment = UITextAlignmentCenter;
//      label.font = [label.font fontWithSize:50];
//        
//        [view addSubview:label];

        UIButton *buttonForDisplay = [[[UIButton alloc] initWithFrame: view.bounds] autorelease];
        buttonForDisplay.backgroundColor=[UIColor clearColor];

        [buttonForDisplay setTitle:[NSString stringWithFormat"%d",index] forState:UIControlStateNormal];
        buttonForDisplay.titleLabel.font = [label.font fontWithSize:50];
        [buttonForDisplay addTarget:self actionselector(TappedButton forControlEvents:UIControlEventTouchUpInside];
        [buttonForDisplay bringSubviewToFront:view];
        buttonForDisplay.tag = index;

///        view.tag=index;
        [view addSubview:buttonForDisplay];


    }
    else
    {
        label = [[view subviews] lastObject];
    }

    //set label
//  label.text = [[items objectAtIndex:index] stringValue];

    return view;
}

编辑 这个方法通过你可以捕捉到轮播 View 的引用。

- (UIView *)itemViewAtIndexNSInteger)index

用动画编辑

UIViewController *nextViewController = [[UIViewController alloc] autorelease];
nextViewController.view.backgroundColor = [UIColor redColor];  
CATransition *animation = [CATransition animation];
animation.duration = 3.5;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
animation.type = kCATransitionPush;
animation.subtype = kCATransitionFromTop;  
[self.navigationController pushViewController:nextViewController animated:NO];
[self.navigationController.view.layer addAnimation:animation forKey:nil];

关于iphone - 带有按钮的 UIscrollview 中的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10222386/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap