2015-01-09 99 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"]