如何在swift中添加背景图像并将其放在UITableViewCell下?

时间:2015-12-05 22:04:05

标签: ios swift uitableview

这次背景图像仍然不适合场景,这是代码friendListCell的一部分,是此场景中tableViewCell的@IBOutlet

override func viewDidLoad() {
    super.viewDidLoad()

    let BackGroundImage:UIImageView = UIImageView(frame: self.friendListCell.bounds)//UIImageView(frame: CGRectMake(0, 0, self.view.frame.width , self.view.frame.height))
    let image: UIImage = UIImage(named: "regularLogin.jpg")!

    BackGroundImage.image = image


    friendListCell.backgroundView = BackGroundImage

          fetchRequest.sortDescriptors = [sortDescriptor]



}


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    switch(segue.identifier)
    {
        case .Some("functionSegue"):
            let functionViewController = segue.destinationViewController as! FunctionsViewController
            functionViewController.client = client!
    default:
        super.prepareForSegue(segue, sender: sender)
    }



}

//let AppConfig = TransmissionAgreement(first:"first")
var username:String?
var password:String?
var client:TCPClient?
let fetchRequest = NSFetchRequest(entityName: "Friend")
let sortDescriptor = NSSortDescriptor(key: "name", ascending: true)
var result:[AnyObject]?
var managedObjectContext:NSManagedObjectContext?
@IBOutlet weak var friendListCell: UITableView!
}

enter image description here

2 个答案:

答案 0 :(得分:7)

您应该设置tableView背景图像。

尝试以下方法:

tableView.backgroundView = UIImageView(image: UIImage(named: "regularLogin.jpg"))

此外,如果您希望细胞透明,请不要忘记设置细胞颜色。

cell.backgroundColor = UIColor.clearColor()

答案 1 :(得分:2)

首先:您不应该在`cellForRowAtIndexPath'中添加背景图像,这意味着每次添加新单元格时都会设置它。而是在viewDidLoad中设置它。

我建议您像这样计算背景图像视图的大小:

let backGroundImage = UIImageView(frame: self.tableView.bounds)

通过将单元格的背景颜色设置为UIColor.clearColor()来删除白色背景:

cell.backgroundColor = UIColor.clearColor()