我想在UITableViewCell
的背面設置拉伸背景圖片。 這是一個常見的問題,回答了很多次,所以我在做它的「標準方式」:UITableViewCell backgroundView不拉伸
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell;
UIImage* bgImg;
bgImg = [[UIImage imageNamed:@"menu_bg_selected.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 1, 0)]; //top/left/bottom/right
cell = [tableView dequeueReusableCellWithIdentifier:@"mycell" forIndexPath:indexPath];
[cell setBackgroundView:[[UIImageView alloc] initWithImage:bgImg]];
return cell;
}
如果我只是試試這個,我得到一個平鋪的背景。 閱讀幾個類似的問題/答案後,我曾嘗試:
強制後臺查看的規模:背景視圖
cell.backgroundView.contentMode = UIViewContentModeScaleToFill;
力大小調整:
cell.backgroundView.clipsToBounds = YES;
面具的設置自動調整大小:
cell.backgroundView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
;試圖爲力的背景的幀大小
UIImageView
似乎我的背景圖像被部分地拉伸到預定尺寸,然後平鋪(沒有足夠的聲譽尚未上傳圖片,遺憾。 ..):
- 垂直拉伸是局部的和不使用全高
- 橫向拉伸是局部的和不使用全寬度
背景圖片是一張6x3像素的圖片(左側藍色垂直線,深灰色背面和底部淺灰色水平線)。
我在做什麼錯?
感謝您的幫助!
[編輯] 實際上這個問題似乎並不是一個UIEdgeInsetsMake問題。 當使用bgImg = [UIImage imageNamed:@「menu_bg_selected.png」];背景圖片仍然沒有填充完整的單元格背景。
cell.backgroundView.contentMode = UIViewContentModeTop; –
好吧我知道了,我需要使用resizingMode參數:'bgImg = [[UIImage imageNamed:@「menu_bg_selected.png」] resizableImageWithCapInsets:UIEdgeInsetsMake(0,5,1,0)resizingMode:UIImageResizingModeStretch];' – Noth
I'儘快回答我自己的問題(儘量不要做)。感謝大家的建議! – Noth