2016-12-02 5 views
1

Sectionを持つUITableViewの上にUIViewを配置したいと思います。セクションを持つUITableViewの上にUIViewを配置

Image

override func viewDidLoad() { 
    super.viewDidLoad() 
    tableView.register(ActivityCell.self, forCellReuseIdentifier: "cellId") 
    //tableView?.contentInset = UIEdgeInsetsMake(70, 0, 0, 0) 
    objectArray = [Objects(sectionName: "sec 1", sectionObjects: ["sdqdsq", "sdsqdqsd", "dsqdsqd", "dsqqsdds"]),Objects(sectionName: "sec 2", sectionObjects: ["sdqdsq", "sdsqdqsd", "dsqdsqd", "dsqqsdds"]),Objects(sectionName: "sec 3", sectionObjects: ["sdqdsq", "sdsqdqsd", "dsqdsqd", "dsqqsdds"])] 
    setupProfilBar() 
} 

let profilBar: profilMenu = { 
    let pb = profilMenu() 
    pb.translatesAutoresizingMaskIntoConstraints = false 
    return pb 
}() 

func setupProfilBar() { 
    view.addSubview(profilBar) 
    profilBar.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true 
    profilBar.heightAnchor.constraint(equalToConstant: 64).isActive = true 
    profilBar.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true 

} 

私はこれをどのように修正することができますか?ありがとう

+0

あなたのViewControllerのあなたはのUITableViewを追加したビュー、およびコールにサブビューカスタムUIViewのを追加します。 ViewControllerからbringSubviewToFront。 – Sreekanth

+0

UITableViewの上にUIViewを表示しますか? – Ishika

+0

最初のセクションまたはすべてのセクションでこれを使用しますか? –

答えて

0

コメントで述べたよりも簡単方法があります:

あなたのUITableViewtableHeaderView -propertyを設定することができます。これはテーブル全体の上にあるヘッダです。 (セクションヘッダーではありません!)。

あなたviewDidLoad()にこのコードを追加します。

let v = UIView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: 200)) 
v.backgroundColor = UIColor.red 
tableView.tableHeaderView = v 

これは、結果、次のようになります。

screenshot

0

カスタムビューをテーブルビューのtableHeaderViewプロパティとして設定します。 UITableViewControllerの代わりにUIViewControllerを使用する必要はありません。 Here's the relevant Apple Documentation.

関連する問題