美文网首页动画
[转]UITableView中cell点击的绚丽动画效果

[转]UITableView中cell点击的绚丽动画效果

作者: ldjhust | 来源:发表于2015-12-07 18:23 被阅读736次

    转:http://www.cnblogs.com/YouXianMing/p/4187996.html

    这个链接中的代码也实现了这种效果

    https://github.com/cbpowell/MarqueeLabel

    最终效果如下:

    原理如下:

    1. 获取文本

    2. 计算文本宽度

    3. 将这个Label放入ScrollView中

    4. 将ScrollView的contentSize的宽度设置与文本宽度一致

    5. 做动画

    *6. 边缘的渐隐效果请使用带透明像素的PNG图片

    //

    //RootViewController.m

    //

    //Copyright (c) 2014年 Y.X. All rights reserved.

    //

    #import"RootViewController.h"

    #import"YXKit.h"

    #import"FontPool.h"

    @interfaceRootViewController ()

    @end

    @implementationRootViewController

    - (void)viewDidLoad

    {

    [super viewDidLoad];

    self.view.backgroundColor=[UIColor blackColor];//注册字体

    REGISTER_FONT(bundleFont(@"新蒂小丸子体.ttf"),@"新蒂小丸子体");//获取文本

    NSString *string=@"喜欢这首情思幽幽的曲子,仿佛多么遥远,在感叹着前世的情缘,又是那么柔软,在祈愿着来世的缠绵。《莲的心事》,你似琉璃一样的晶莹,柔柔地拨动我多情的心弦。我,莲的心事,有谁知?我,莲的矜持,又有谁懂?";

    //初始化label

    UILabel *label      = [UILabelnew];

    label.text=string;

    label.numberOfLines=0;

    label.textColor=[UIColor cyanColor];

    label.font= [UIFont fontWithName:CUSTOM_FONT(@"新蒂小丸子体",0)

    size:20.f];

    //计算尺寸

    CGSize size        = [label boundingRectWithSize:CGSizeMake(0,0)];

    label.frame=(CGRect){CGPointZero, size};

    //初始化

    ScrollViewUIScrollView *showView =\

    [[UIScrollView alloc] initWithFrame:CGRectMake(0,90,320, size.height)];

    showView.contentSize=size;

    showView.showsHorizontalScrollIndicator=NO;

    [showView addSubview:label];

    [self.view addSubview:showView];

    //形成边缘的遮罩

    UIImageView *imageView =\

    [[UIImageView alloc] initWithFrame:CGRectMake(0,90,320, size.height)];

    imageView.image= [UIImage imageNamed:@"bg"];

    [self.view addSubview:imageView];

    //动画

    [UIView animateKeyframesWithDuration:10delay:7options:UIViewKeyframeAnimationOptionAllowUserInteraction

    animations:^{

    //计算移动的距离

    CGPoint point =showView.contentOffset;

    point.x= size.width -320.f;

    showView.contentOffset=point;

    }

    completion:^(BOOL finished) {

    }];

    }@end

    相关文章

      网友评论

        本文标题:[转]UITableView中cell点击的绚丽动画效果

        本文链接:https://www.haomeiwen.com/subject/rejehttx.html