2010-08-02 95 views
3

嘿大家,這似乎應該是一個簡單的;我真的很希望它是。一如既往,先謝謝!iPhone:分組TableView背景圖像問題

我想要做的是將一個背景圖像添加到分組樣式tableview。我使用在viewDidLoad中下面的方法:

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

不幸的是,background.png似乎如下要繪製不僅是細胞的背後,卻也對細胞的背景和標題:

alt text http://www.freeimagehosting.net/uploads/194449ffc1.png

我知道在這個網站上有幾個問題可以解決類似的問題,但是我擔心我什麼都得不到。 How can I set the background of UITableView (the tableview style is "Grouped") to use an image?導致我

self.tableView.opaque = NO; 
self.tableView.backgroundView = nil; 

增加viewDidLoad中,並在配置我的單元格添加

cell.backgroundView = nil; 
cell.opaque = NO; 

。不用說,它不起作用。添加

cell.backgroundColor = [UIColor clearColor]; 

也沒有工作。可悲的是,那是我最後的想法。如果可能的話,我真的很希望能夠在不添加界面構建器中的背景的情況下做到這一點。我寧願儘可能多地編程。我希望問這不是太貪心。再次感謝!

* * * 編輯: * * *

我碰到另一種方法來實現這一點,但遇到了另一個問題。我下面的代碼添加到viewDidLoad中:

UIView *bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
    bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]; 
    [self.tableView.window addSubview:bgView]; 

    [self.tableView addSubview:bgView]; 
    [self.tableView sendSubviewToBack:bgView]; 

它看起來有前途的,它可能是,但不幸的是在給我的以下內容: alt text http://www.freeimagehosting.net/uploads/c02dd68e20.png

看起來好像它要麼是沒有被髮送到後面和標題以某種方式顯示出來,或者細胞跟着它回來。我一點也不確定。任何建議在這裏也將不勝感激。

這裏就是我發現的編輯代碼: Add UIView behind UITableView in UITableViewController code

回答

0

我還沒有想通了,爲什麼上面不工作或如何讓這樣做,而是通過增加子視圖進行修改在App Delegate中的窗口而不是tableView在這裏,我能夠得到它的工作。

而不是隻是讓它的功能和繼續我想實際學習,所以我仍然好奇我的錯在上面。因此,我會暫時擱置一段時間,如果你能告訴我我的錯誤,我會給你最後的投票和綠色的複選標記。謝謝!

4

我經歷了類似的道路,你在這裏描述的東西。我終於發現,我在工作後的以下答案:

How to set the background of a UITableView to an image?

這是張貼由用戶RKB兩行代碼。下面的代碼:

self.tableView.backgroundColor = [UIColor clearColor]; 

self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithData:imageData]]; 
2

使用以往的迴應(尤其是來自dana_a)這是我開始工作同樣的事情

self.tableView.backgroundColor =的UIColor clearColor] self.parentViewController.view.backgroundcolor = [UIColor colorWithPatternImage:[UIImge imageNamed:@「bgtest2.png」]];

這是在我的viewWillAppear:方法在我的情況下具有分組tableview的詳細視圖控制器。

1

我把這段代碼放在我的ViewDidLoad方法中,它工作得很漂亮。

self.termsTableView.backgroundColor = [UIColor clearColor]; 

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

另一個解決方案,如果沒有別的在這裏工作。在viewDidLoad中:

UIImage *background = [UIImage imageNamed:@"MyBackground.png"]; 
self.tableView.backgroundView = [[UIImageView alloc] initWithImage:background]; 

這將會把你靜態的(不伸展或移動)的後面所有的分組的tableview元素,如標題和細胞背景。