先上图:
这个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下载