簡體   English   中英

如何為分組表視圖設置背景圖像?

[英]How do I set a background image for a grouped table view?

我見過一些iPhone應用程序使用自定義圖像作為分組UITableView的背景,而不是標准的灰色線條。

這是如何實現的?

這對我有用(一旦我弄清楚就相當簡單;)

1)在app delegate中添加一個視圖,並使其成為窗口的子視圖:

UIView *bgView = [[UIView alloc]initWithFrame:window.frame];

 bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"screenBG.png"]];
 [window addSubview:bgView];
 [bgView release];

2)在每個視圖控制器.m文件上,在ViewDidLoad下,將該特定視圖的背景顏色設置為透明(因此上面創建的其他bgView將顯示):

self.view.backgroundColor = [UIColor clearColor];

在我的例子中,步驟2中的視圖控制器是tableviewcontroller。 看起來很棒。

順便說一句,在每個視圖控制器中執行以下操作並不能很好地工作:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"screenBG.png"]];

請按照上面的步驟1和2進行操作。

希望這會有所幫助,Tbone

試試這個

- (void) viewDidLoad {
    [super viewDidLoad];

    self.tableView.backgroundColor = [UIColor clearColor];
    self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"wallpaper.png"]];
    self.tableView.opaque = NO;
}

在另一個項目(使用2.2.1開發)中,我通過將UITableView'的背景不透明度設置為0%,然后使用Interface Builder簡單地在其后面層疊UIImageView來完成此操作。 無論表狀態如何,這都允許我具有固定的背景。 您也可以將UITableView的背景設置為圖像,但隨后背景會隨表格滾動。 (我目前沒有方便的代碼,但我在Apple開發者論壇上得到了一些提示)。

請注意,這可能會導致一些性能問題。 蘋果不鼓勵盡可能使用透明度,因為3GS之前型號的GPU並不是特別強勁。

您可以像這樣使用+[UIColor colorWithPatternImage:(UIImage)]方法:

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];

colorWithPatternImage的問題:你需要使用“圖案化”圖像,否則你的圖像會隨機平鋪

如果您希望所有視圖具有相同的背景,則此鏈接有一個簡單的解決方案

http://howtomakeiphoneapps.com/2009/03/how-to-add-a-nice-background-image-to-your-grouped-table-view/

self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"SortByCategory_320x480.png"]];

self.tableView.separatorColor = [UIColor clearColor];

self.tableView.backgroundColor = [UIColor clearColor];

希望這會有所幫助。 它不會在細胞后面顯示可怕的半透明背景,特別是在Grouped UITableView的情況下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM