如何剪切较大的图像以适应以编程方式构建的tabBarController中的tabBar图标.

Sat*_*pta 7 cocoa objective-c uitabbarcontroller uitabbar ios

我以编程方式创建了一个选项卡控制器.

现在,我想将图像添加到我使用的不同选项卡中:

  self.tabBarItem.image = [UIImage imageNamed:@"Sample_Image.png"];
Run Code Online (Sandbox Code Playgroud)

问题是Sample_image的大小比制表符要求的大.

所以我只想知道如何剪切图像以适应标签.

Bun*_*ylm 14

Sample_image is larger in size than is required by tab.
Run Code Online (Sandbox Code Playgroud)

尝试这段代码,因为这将调整所需的图像大小并返回一个大小(需要的大小)的UIImage实例.30x30UITabbar

UIImage *image = [UIImage imageNamed:@"Sample_Image.png"];
self.tabBarItem.image = [self imageWithImage:image scaledToSize:CGSizeMake(30, 30)];
Run Code Online (Sandbox Code Playgroud)

添加此方法

- (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return newImage;
}
Run Code Online (Sandbox Code Playgroud)