[英]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的問題:你需要使用“圖案化”圖像,否則你的圖像會隨機平鋪
如果您希望所有視圖具有相同的背景,則此鏈接有一個簡單的解決方案
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.