2016-05-31 9 views
1

enter image description here私はUISplitViewControllerを持っています。だから私はマスタービュー(すなわちテーブルビュー)をそのコンテンツのサイズまで見たい(3つの要素しかないと思う)。 self.tableview.contentsizeを試しましたが、成功しませんでした。解決策を見つけるのを手伝ってください。スプリットビューコントローラの左側にあるテーブルビューのサイズを制限する方法は?

各セルの高さは44です。 これは私が書いたコードです。

class AccountTableViewController: UITableViewController { 
var filterList = [String]() 
var selectedIndex = -1 

override func viewDidLoad() { 
    super.viewDidLoad() 
    filterList = ["All Accounts","Business Accounts","Person Accounts"] 

    self.tableView.contentSize = CGSize(width: 600, height: 44*3); 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

// MARK: - Table view data source 

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    // #warning Incomplete implementation, return the number of sections 
    return 1 
} 

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    // #warning Incomplete implementation, return the number of rows 
    return 3 
} 


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("accountCell", forIndexPath: indexPath) 

    cell.textLabel?.text = filterList[indexPath.row] 
    return cell 
}} 
+0

あなたを示してコードを投稿してくださいテーブルビューの作成と初期化。また、あなたの細胞はどれくらいの高さですか? – thephatp

+0

@thephatp 編集した内容を確認し、問題を解決してください。 –

+0

明確にするために、あなたのリストの3つの項目の後ろの左側のビューの行を見たくないのですか?あるいは、そのスペースを他のものに利用したいのですか? – thephatp

答えて

3

私は出発点としてレイWenderlichのサンプルプロジェクト(https://www.raywenderlich.com/94443/uisplitviewcontroller-tutorial-getting-started)をつかみました。それはあなたが下の写真で修正されたものです。

Interface Builderで

、最初にあなたのセットは、自動レイアウトを使用してください: enter image description here

そして、(それがどこにあるかあなたが見ることができるので、私はオレンジ色に背景を設定)プロトタイプセルの下UIViewをドラッグし、そして作りますお好きなサイズ: enter image description here

私たちは新しく作成しUIViewにするいくつかのフィールドを追加し、あなたがそれらを実行時にコンテンツに基づいて動く見ることができたので、私は、制約を追加しました。 (あなたは、実行時に比べIBではるかに大きい幅とストーリーボード・ビュー・コントローラに気づくでしょう。)ここで私は追加の制約があります: enter image description here

最後に、アプリ実行 - コードで何かをする必要はありません: enter image description here

この基本的な部分が機能すれば、コードのビューのサイズを設定できます。必要に応じてIBでビューをデザインすることもできますし、コードで行うこともできます。ここで

は、テーブル内の1行のみを持つ例を示します

enter image description here

そして、ここでは、テーブル内の行のない例です:

enter image description here

+0

ありがとう@thephatp もう質問はありません。アイディアは働いている。 –

+0

これは実際に部分的に動作しています。行がない場合、ビューは画面の半分まで表示されます。 @thephatpが余分な制約があるかもしれません –

+0

@RamcharanReddyは、あなたが変更したコンテンツ圧縮またはコンテンツハグを持つものかもしれませんか?私は上記のスクリーンショットを得るために先週修正したプロジェクトを引き上げました。それは私にとってうまくいっています。私は答えに2つの写真を追加してあなたを見せます。私の答えの一番上にあるプロジェクトを掴んで、私がここで言及した変更を加えて、私がしたのと同じ結果を得るかどうかを見てください。 – thephatp

関連する問題