1
我有困難與/理解resizableImageWithCapInsets
圖片不改變大小正確地使用resizableImageWithCapInsets
工作我已經安裝一個按鈕如下:
facebookLoginButton = [[UIButton alloc] initWithFrame:CGRectMake(10, 20, 300,50)];
facebookLoginButton.autoresizingMask = UIViewAutoresizingFlexibleWidth;
UIImage *facebookButton = [[UIImage imageNamed:@"FacebookLogin"]
resizableImageWithCapInsets:UIEdgeInsetsMake(20,90,20,56)];
[facebookLoginButton setBackgroundImage:facebookButton forState:UIControlStateNormal];
[facebookLoginButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[facebookLoginButton setTitle:NSLocalizedString(@"FacebookLoginButton", "Facebook Login Button") forState:UIControlStateNormal];
[facebookLoginButton setTitleShadowColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:.35] forState:UIControlStateNormal];
[facebookLoginButton addTarget:self action:@selector(facebookLoginButton:) forControlEvents:UIControlEventTouchUpInside];
正如可以看到幀以上針對按鈕視圖是300x50像素。我爲視網膜創建了一張圖像(之後會縮小)。
該圖像是在PS中創建的png,大小爲144x100px。這是框架的高度的兩倍(對於uibutton)和使用Facebook F以及空間所需的寬度。這個想法是讓F保持靜態在左邊,可伸縮部分如下所示。
這裏是圖像本身是否有幫助;
這是目前的結果:
我試圖找出正確的插圖進入。我已經搜遍了大量的教程,但沒有任何解釋足以讓我理解插圖實際上是如何工作的。如果任何人都可以解釋這一點,或鏈接到一個教程,他們如何計算,這將是更好的。
我目前已將頂部和底部設置爲0,因爲理論上它們不需要重複,只是一個靜態左側大於靜態右側。右側的插圖僅用於圓形邊框,中間部分需要重複。
不要問同樣的問題兩次。你已經問過這個http://stackoverflow.com/questions/15702974/resizing-image-using-capinsets/15703301 – matt
這個問題其實更多的是關於如何計算任何按鈕的插入信息,用不同的語言 – StuartM
@matt - 請刪除我沒有能力 – StuartM