2014-01-15 76 views
8

是否有可能解決一個UITableViewController背景圖像的位置?的UITableViewController - 固定背景圖片

我已經通過viewDidLoad方法用下面的代碼添加背景圖片 -

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

但由於該表是相當長(也包含靜態的細胞,如果該事項),它滾動(和重複)當你向下滾動桌子時。

回答

30

,你可以嘗試添加背景圖像的UIView,而不是作爲的UIColor,試試這個:

self.tableView.backgroundView = [[UIImageView alloc] initWithImage: 
           [UIImage imageNamed:@"blurredBGW.png"]]; 
+0

作品很好吃! – Dancer

+0

@Dancer歡迎您! – Ilario

0

讓您的表格的背景(和細胞)透明,並設置圖像爲表下方的視圖。

+0

酷會試試看的歡呼聲。 – Dancer

1
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]]; 
[tempImageView setFrame:self.tableView.frame]; 

self.tableView.backgroundView = tempImageView; 
0

SWIFT 2.2

你可以使用下面的代碼線

self.tableView.backgroundView = UIImageView(image: UIImage(named: "xxxx.png")) 
2

爲SWIFT版本3.0.try這code.it將設置一個固定的背景,以表視圖控制器

self.tableView.backgroundView = UIImageView(image: UIImage(named: "background.png")!) 
0

我更喜歡配置的背景,造就了其特定的廈門國際銀行,因爲背景是很困難的。我下一步:

1)創建一個類,可以幫助我加載筆尖

class UIXIBView: UIView { 

    var view: UIView! 


    func setupXIBWithName(_ nibName: String) { 
     view = self.getViewFromNibWithName(nibName) 
     self.addSubview(view) 
     view.frame = self.bounds 
     view.autoresizingMask = [UIViewAutoresizing.flexibleWidth, UIViewAutoresizing.flexibleHeight] 
    } 

    func getViewFromNibWithName(_ nibName: String) -> UIView { 
     let bundle = Bundle.main 
     let views = bundle.loadNibNamed(nibName, owner: self, options: nil)! as [AnyObject] 
     let view = views[0] as! UIView 

     return view 
    } 

    override init(frame: CGRect) { 
     super.init(frame: frame) 
     self.setupXIBWithName(String(describing: type(of: self))) 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
     self.setupXIBWithName(String(describing: type(of: self))) 
    } 
} 

2)我創建特定視圖,例如讓它成爲LKBackgroundView.swift,並從它繼承UIXIBView

class LKBackgroundView: UIXIBView { 
    // You can add your own logic there or override smth 
} 

3)創建廈門國際銀行具有相同的名稱LKBackgroundView.xib

4)我設置FileOwner的類裏面廈門國際銀行LKBackgroundView,不要LKBackgroundView設置視圖類

5犯了一個錯誤)配置您XIB喜歡你想要

6)初始化裏面viewDidLoad中的視圖中的視圖控制器

override func viewDidLoad() { 
    super.viewDidLoad() 
    LKBackgroundView(frame:tableView.bounds) 
    tableView.backgroundView = backgroundView 
} 

7)測試它