zoukankan      html  css  js  c++  java
  • ios假设写一个提示带动画的View,能够来引导用户行为

    先上图:



    这个UIView能够这样写:

    -(id)initWithFrame:(CGRect)frame backImage:(UIImage*)image msgStr:(NSString*)txt
              txtColor:(UIColor*)color{
        self = [super initWithFrame:frame];
        if (self) {
            self.backgroundColor = [UIColor clearColor];
            _paopaoImage = image;
            _txt = txt;
            _color = color;
            
        }
        return self;
    }
    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    - (void)drawRect:(CGRect)rect
    {
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGRect textRc = rect;
        [_paopaoImage drawInRect:rect];
        CGFontRef contextFont = CGFontCreateWithFontName((CFStringRef)[UIFont systemFontOfSize:14].fontName);
        CFRelease(contextFont);
        
        CGContextSetFontSize(context, 14.0);
        CGContextSetFillColorWithColor(context, _color.CGColor);
        textRc.origin.y += 11.0f;
        [_txt drawInRect:textRc withFont:[UIFont systemFontOfSize:14] lineBreakMode:NSLineBreakByWordWrapping alignment:NSTextAlignmentCenter];
    }
    

    然后弹出的时候:

    -(void)showTipView{
        CGRect rect = [[HomePageUIManager sharedInstance] categoryTipViewFrameWhenLaunch];
        PopUpMenu* menu = [[PopUpMenu alloc] initWithFrame:rect backImage:[UIImage imageNamed:@"change_search_tip.png"] msgStr:@"打开/关闭面板" txtColor:[CCommon RGBColorFromHexString:@"#ffffff" alpha:1.0f]];
        
        [self.view addSubview:menu];
        
        CABasicAnimation *jumpAnimation = [CABasicAnimation animationWithKeyPath:@"transform.translation.y"];
        jumpAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
        jumpAnimation.toValue = [NSNumber numberWithFloat:8.0f];
        
        jumpAnimation.duration = 0.5f;//动画持续时间
        jumpAnimation.repeatCount = 10;//动画反复次数
        jumpAnimation.autoreverses = YES;//是否自己主动反复
        [menu.layer addAnimation:jumpAnimation forKey:@"animateLayer"];
    }
    

    代码能够在http://download.csdn.net/detail/baidu_nod/7629687下载

  • 相关阅读:
    .NET-记一次架构优化实战与方案-梳理篇
    .net core实践系列之SSO-跨域实现
    Vue
    C# WPF
    开源框架
    开源框架
    开源框架
    开源框架
    WCF
    WCF
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6900803.html
Copyright © 2011-2022 走看看