zoukankan      html  css  js  c++  java
  • iOS 使用系统的UITabBarController 修改展示的图片大小

    1. 设置TabBarItem图片的大小

    1
    - (void)configurationAppTabBarAndNavigationBar 2 { 3 // 选中的item普通状态图片的大小 4 UIImage *normalImage = self.navigationController.tabBarController.tabBar.selectedItem.image; 5 UIImage *tabNormalImage = [ToolObject createNewImageWithColor:normalImage multiple:1.1]; 6 tabNormalImage = [tabNormalImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 7 [self.navigationController.tabBarController.tabBar.selectedItem setImage:tabNormalImage]; 8 // 选中的item选中撞他图片的大小 9 UIImage *selectImage = self.navigationController.tabBarController.tabBar.selectedItem.selectedImage; 10 UIImage *tabSelectImage = [self createNewImageWithColor:selectImage multiple:1.1]; 11 tabSelectImage = [tabSelectImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    12   // 设置点击图片放大缩小的动画
    13 [self.navigationController.tabBarController.tabBar.selectedItem setSelectedImage:tabSelectImage]; 14 self.navigationController.tabBarController.tabBar.tintColor = [UIColor colorWithRed:0.11f green:0.61f blue:0.97f alpha:1.00f]; 15 self.navigationController.tabBarController.tabBar.barTintColor = [UIColor colorWithRed:0.85f green:0.85f blue:0.85f alpha:1.00f]; 16 }
    2.图片放大或压缩处理 ,图片放大倍数 0 ~ 2 之间 ,0~1 缩小图片,1~2 放大图片 

    1
    /** 2 * 根据image 返回放大或缩小之后的图片 3 * 4 * @param image 原始图片 5 * @param multiple 放大倍数 0 ~ 2 之间 6 * 7 * @return 新的image 8 */ 9 + (UIImage *) createNewImageWithColor:(UIImage *)image multiple:(CGFloat)multiple 10 { 11 CGFloat newMultiple = multiple; 12 if (multiple == 0) { 13 newMultiple = 1; 14 } 15 else if((fabs(multiple) > 0 && fabs(multiple) < 1) || (fabs(multiple)>1 && fabs(multiple)<2)) 16 { 17 newMultiple = multiple; 18 } 19 else 20 { 21 newMultiple = 1; 22 } 23 CGFloat w = image.size.width*newMultiple; 24 CGFloat h = image.size.height*newMultiple; 25 CGFloat scale = [UIScreen mainScreen].scale; 26 UIImage *tempImage = nil; 27 CGRect imageFrame = CGRectMake(0, 0, w, h); 28 UIGraphicsBeginImageContextWithOptions(image.size, NO, scale); 29 [[UIBezierPath bezierPathWithRoundedRect:imageFrame cornerRadius:0] addClip]; 30 [image drawInRect:imageFrame]; 31 tempImage = UIGraphicsGetImageFromCurrentImageContext(); 32 UIGraphicsEndImageContext(); 33 return tempImage; 34 }

    这样就可以修改选中状态和普通状态下的TabBarItem 图片的大小 ,是不是很简单呢,不足之处,还请大家多多指教

  • 相关阅读:
    GTest交流与经验总结
    linux i2c驱动架构-dm368 i2c驱动分析
    在不同编译环境中如何使用sleep()函数
    Android应用之基本的组件(一)
    Java Arrays Tutorial (3)
    ASP.NET中操作SQL数据库
    安卓开发06:布局-线性布局 LinearLayout
    在开发 ExtJS 应用程序常犯的 10 个错误
    每天4个linux命令--步骤一
    获取CPU序列号
  • 原文地址:https://www.cnblogs.com/ChenHuChang/p/5734142.html
Copyright © 2011-2022 走看看