先上图:
这个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"];
}