工具栏背景图像不会调整大小
Toolbar background image wont resize
我正在尝试使用可调整大小的图像作为我的工具栏背景图像,但由于某些原因代码无法运行。这是我的图片尺寸:
Missions.png (320x64)
Missions@2x.png (640x128)
Missions@3x.png (1242x195)
这是我的代码:
-(void)viewWillAppear:(BOOL)animated{
UIToolbar *toolbar = [[UIToolbar alloc] init];
toolbar.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 64);
UIImage *backgroundImage = [UIImage imageNamed:@"Missions.png"];
UIImage *resizableBackground = [backgroundImage resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, 0.0f)];
-----[toolbar setBackgroundImage:[UIImage imageNamed:resizableBackground] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault]; -----------------------------
[self.view addSubview:toolbar];
}
我在 'resizableBackground' 处的虚线上收到一条警告,上面写着:不兼容的指针类型将 'UIImage *' 发送到 'NSString *'
类型的参数
是的 UIImage imageNamed:将您的图像名称作为 NSString
[UIImage imageNamed:@"missions.png"]
就像错误消息所说的那样 - 在该行中,您发送的 UIImage class 消息需要一个字符串参数和一个图像。相反,您的代码应该是
[toolbar setBackgroundImage:resizableBackground...
还有一些其他事情:
- 在设置 backgroundImage 值的那一行,您对 imageNamed: 的调用最后不需要“.png”。
- 您的可调整大小的图片并不是真正可调整大小的:0,0,0,0 的大写插入没有意义
- 您可以使用资产目录让这一切变得更容易。代码少了一点,简单调用 imageNamed: would return a resizable image
我正在尝试使用可调整大小的图像作为我的工具栏背景图像,但由于某些原因代码无法运行。这是我的图片尺寸:
Missions.png (320x64)
Missions@2x.png (640x128)
Missions@3x.png (1242x195)
这是我的代码:
-(void)viewWillAppear:(BOOL)animated{
UIToolbar *toolbar = [[UIToolbar alloc] init];
toolbar.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 64);
UIImage *backgroundImage = [UIImage imageNamed:@"Missions.png"];
UIImage *resizableBackground = [backgroundImage resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, 0.0f)];
-----[toolbar setBackgroundImage:[UIImage imageNamed:resizableBackground] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault]; -----------------------------
[self.view addSubview:toolbar];
}
我在 'resizableBackground' 处的虚线上收到一条警告,上面写着:不兼容的指针类型将 'UIImage *' 发送到 'NSString *'
类型的参数是的 UIImage imageNamed:将您的图像名称作为 NSString
[UIImage imageNamed:@"missions.png"]
就像错误消息所说的那样 - 在该行中,您发送的 UIImage class 消息需要一个字符串参数和一个图像。相反,您的代码应该是
[toolbar setBackgroundImage:resizableBackground...
还有一些其他事情:
- 在设置 backgroundImage 值的那一行,您对 imageNamed: 的调用最后不需要“.png”。
- 您的可调整大小的图片并不是真正可调整大小的:0,0,0,0 的大写插入没有意义
- 您可以使用资产目录让这一切变得更容易。代码少了一点,简单调用 imageNamed: would return a resizable image