是否可以修复UITableViewController背景图像的位置?
我已经通过viewdidload方法添加了背景图片,其中包含以下代码 -
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blurredBGW"]];
但由于表格相当长(并且如果重要的话还包含静态单元格),当您向下滚动表格时它会滚动(并重复)。
答案 0 :(得分:32)
你可以尝试将背景图像添加为UIView而不是UIColor,试试这个:
self.tableView.backgroundView = [[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"blurredBGW.png"]];
答案 1 :(得分:2)
for swift version 3.0.try此code.it将固定背景设置为表视图控制器
self.tableView.backgroundView = UIImageView(image: UIImage(named: "background.png")!)
答案 2 :(得分:1)
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]];
[tempImageView setFrame:self.tableView.frame];
self.tableView.backgroundView = tempImageView;
答案 3 :(得分:0)
使表格(和单元格)的背景透明,并为表格下方的视图设置图像。
答案 4 :(得分:0)
代表
swift 2.2
您可以使用以下代码行
self.tableView.backgroundView = UIImageView(image: UIImage(named: "xxxx.png"))
答案 5 :(得分:0)
我更喜欢通过创建特定的xib来配置背景,因为背景可能很难。我接下来做了:
1)创建一个类,帮助我加载nib
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)我创建了同名的xib LKBackgroundView.xib
4)我将FileOwner的类设置为xib中的LKBackgroundView,不要将LKBackgroundView设置为视图类
5)按照你想要的方式配置xib
6)在View Controller中的ViewDidLoad中初始化视图
override func viewDidLoad() {
super.viewDidLoad()
LKBackgroundView(frame:tableView.bounds)
tableView.backgroundView = backgroundView
}
7)测试
答案 6 :(得分:0)
TableView.BackgroundView = new UIImageView(UIImage.FromBundle("blurredBGW"))