2014-01-15 73 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)测试它