1.將自定義樣式的提示點轉換成為Image
-(UIImage*)convertViewToImage:(UIView*)v{ CGSize s = v.bounds.size; UIGraphicsBeginImageContextWithOptions(s, NO, [UIScreen mainScreen].scale); [v.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage*image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; }
2.將tabbarItem圖片與上面轉換的圖片進行連接
- (UIImage *)combine:(UIImage*)leftImage rightImage:(UIImage*)rightImage { CGFloat width = leftImage.size.width + 10; CGFloat height = leftImage.size.height; CGSize offScreenSize = CGSizeMake(width, height); UIGraphicsBeginImageContextWithOptions(offScreenSize, NO, 0.0); CGRect rect = CGRectMake(5, 0, leftImage.size.width, leftImage.size.height); [leftImage drawInRect:rect]; rect.origin.x += width/2; [rightImage drawInRect:CGRectMake(leftImage.size.width - 10, 0, rightImage.size.width, rightImage.size.height)]; UIImage* imagez = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return imagez; }
3.設置tabBarItem的Image
[xxxx.tabBarItem setFinishedSelectedImage:[self combine:[UIImage imageNamed:@"icon_tabbar_session_select"] rightImage:[self convertViewToImage:_tipView]] withFinishedUnselectedImage:[self combine:[UIImage imageNamed:@"icon_tabbar_session"] rightImage:[self convertViewToImage:_tipView]]];
效果: