2015-01-09 100 views
0

我想使用可调整大小的图像作为我的工具栏背景图像,但由于某些原因代码无法正常工作。这里是我的图片大小:工具栏背景图像不会调整大小

Missions.png   (320x64) 
[email protected]  (640x128) 
[email protected]  (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 *'

+0

[工具栏了setBackgroundImage:resizableBackground forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault]。 – Sandeep 2015-01-09 20:54:04

回答

1

就像错误消息所说 - 在该行中,您发送的UIImage类消息需要字符串参数为图像。相反,你的代码应该是

[toolbar setBackgroundImage:resizableBackground... 

一对夫妇的其他东西,但:

  • 你在哪里设置和backgroundImage的价值线,你的电话imageNamed:不需要“巴纽”最后。
  • 您的可调整大小的图片的真实尺寸不可调整:0,0,0,0的内嵌图案无意义
  • 您可以通过使用资产目录来简化操作。这是一个有点更少的代码,一个简单的调用imageNamed:会返回一个可调整大小的图像
0

呀UIImage的imageNamed:把你的形象的名字作为一个NSString

[UIImage imageNamed:@"missions.png"]