2017-01-08 53 views
-1

我正在使用帶有靜態單元的UITableViewController,並且希望使單元不佔用整個視圖。我想要更類似於這個圖像的東西:https://i.stack.imgur.com/4nO09.png如何在UITableView中的靜態單元左/右添加填充swift

我不能完全弄清楚如何去做。我已經能夠改變高度感謝self.tableView.contentInset,但我不知道如何改變寬度。

我該怎麼做?

編輯:

這裏是我的Fay007代碼和圖像。

import UIKit 

class ContactFormViewController: UITableViewController { 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Sets the background images 
    if let patternImage = UIImage(named: "Pattern") { 
     view.backgroundColor = UIColor(patternImage: patternImage) 
    } 
} 

override func viewWillAppear(_ animated: Bool) { 
    let numberOfRows: CGFloat = CGFloat(self.tableView.numberOfRows(inSection: 0)) 
    let headerHeight: CGFloat = (self.view.frame.size.height - (self.tableView.rowHeight * numberOfRows))/numberOfRows 

    self.tableView.contentInset = UIEdgeInsetsMake(headerHeight, 0, -headerHeight, 0) 
     } 

http://imgur.com/a/Q2kfH

我聯繫的第一個圖像有其細胞左/右邊緣了,在我的評論我解釋,我相信他們確實使用自動佈局。由於tableview是UIViewController的UIView的子視圖,我相信可以保證這一點。但是,當使用UITableViewController(在UITableView中使用靜態單元所需的)時,沒有UIView父級。

+0

http://stackoverflow.com/a/33931591/2356808此回答的內容與此相同嗎?它也實施瞭解決方案! – Fay007

+0

可能重複[如何添加UITableViewCell之間的間距](http://stackoverflow.com/questions/6216839/how-to-add-spacing-between-uitableviewcell) – Fay007

+0

@ Fay007這就是我得到的圖像。該解決方案以一種我認爲不可能的方式解決了這個問題,考慮到靜態表單元必須使用UITableViewController,而不是UIViewController,以及它使用的是段而不是行。我可能是錯的,因爲我試圖弄清楚這一點,但該解決方案似乎並不是我尋找的答案。它似乎解決了高度問題,而不是寬度問題,他們僅僅通過(假設)改變了tableview在UIView中的設置方式。 – NappyXIII

回答

0

這樣做的一個簡單方法如下:在故事板或界面生成器中,將UIView子視圖添加到UITableviewcell。創建約束來定義此子視圖到單元邊緣的所需距離。

要添加圓角,您可以在awakeFromNib內通過將子視圖的圖層屬性的cornerRadius設置爲所需的半徑來實現。

相關問題