2015-09-07 48 views
0

我的問題是「tableView.backgroundView」的層次結構。設置tableview的backgroundView

我想爲我的tableview實現一個背景圖像,並且所有在演示項目中工作正常。

var testImage = UIImage(named: "Test_Image") 
imageView.image = testImage 
mytableView.backgroundColor = UIColor.greenColor() 
mytableView.backgroundView = imageView 

如果我把這個示範項目(例如,在控制器的tableView的viewDidLoad方法)所有工作正常,層次結構是正確的。單元格的所有按鈕/標籤/圖像都是動態加載的,它們都在tableview的backgroundColor和backgroundView之上。

我甚至用調試模式中的UI視圖層次管理器來查看它並檢查它。

但在我的真實項目中,當tableview加載時,tableview的backgroundView位於所有視圖的頂部?

那麼怎麼可能tableview.backgroundView位於視圖的頂層?單元格的所有按鈕/標籤/圖像都在tableview本身和tableview.backgroundView之間?

這個問題實際上是一個普遍的問題。我只是想知道爲什麼tableView的backgroundView可以在其他視圖前?有趣的是tableview.backgroundcolor停留在後面。

如果您需要更多信息,請告訴我。我會盡量提供儘可能多的信息。

View hierarchy

@IBOutlet var mytableView: UITableView! 

var man = UIImage(named: "Timeline_Background_Man") 
var woman = UIImage(named: "Timeline_Background_Woman") 
var imageView = UIImageView() 

var delegate: CenterViewControllerDelegate? 

override func viewDidLoad() { 
    super.viewDidLoad() 

    imageView.image = man 
    mytableView.backgroundColor = UIColor.greenColor() 
    imageView.contentMode = .ScaleAspectFit 
    mytableView.backgroundView = imageView 
} 

提前感謝!

+0

你可以發佈你的「真實」的項目代碼,看看你如何添加你的backgroundview和其他元素? –

+0

當然。給我幾分鐘。 –

+0

爲什麼不將背景顏色設置爲清晰的顏色,然後將UIImageView添加到您的表格視圖 –

回答

0

我發現Xcode可以是View層次結構中的一個小錯誤。這有時會發生在我身上並修復它,我將背景視圖拖到層次結構中的新位置,然後回到原來的位置。總是修復了這個問題我

+0

我無法拖動backgroundView,因爲它是一個內部函數。像tableview.backgroundView –

+0

哦,好吧,道歉我的誤解。 – Devster101

+0

沒問題:)但我試着移動並刪除tableview插座。仍然不起作用。 –

0

我在你的代碼,你只需添加UIImageViewUITableView backgroundView,已經看到了,所以我不管,爲什麼不乾脆設置添加視圖UITableView backgroundView的建議下tableViews' backgroundColorpatternImage這樣的

mytableView.backgroundColor = UIColor(patternImage: UIImage(named: "Test_Image")) 
+0

因爲我的顏色和圖像是獨立和不同的。 –

0

我明白了。

問題是

self.refreshControl = UIRefreshControl() 
self.refreshControl!.addTarget(self, action: "refreshTVC:", forControlEvents: UIControlEvents.ValueChanged) 
mytableView.addSubview(refreshControl!) 

當我添加一個子視圖到的tableView所述的tableview的backgroundView還跳轉到層次結構的頂部,甚至上面的細胞。這是iOS的審議行爲嗎?

相關問題