私はコンテナにTableVCを埋め込んでいます。 iPhone5で動作するコンテナの幅は320です。ただし、TableViewセルのContentViewの幅は600です。どのように一致させることができますか? (+/-パディング)。制約がありませんか?私もcellForRowAtIndexPathとカスタムセルのサブクラスでsetNeedsLayout()とlayoutSubViews()を試しましたが、これはどちらかといえないようです。下図においてUITableViewコンテンツビューの幅が一致しません。コンテナ
、IはDARKGREYの幅は、ライトグレー一致する(+ - パディング)
感謝任意の助け.....
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("EventCell") as! CustomResultsTVCell
// cell.setNeedsLayout()
// cell.layoutSubviews()
// cell.layoutIfNeeded()
let barViewWidth = Float(cell.barView.frame.width)
print("barview width is \(barViewWidth)")
// prints 584
let contentViewWidth = cell.myContentView.frame.width
print("contentView width is \(contentViewWidth)")
// prints 600
CustomCellクラスです
import Foundation
import UIKit
class CustomResultsTVCell: UITableViewCell {
@IBOutlet weak var myContentView: UIView!
@IBOutlet weak var barView: UIView!
override func awakeFromNib() {
super.awakeFromNib()
// super.layoutSubviews()
// setNeedsLayout()
// layoutSubviews()
layoutIfNeeded()
}
richcこんにちは、あなたは同様にあなたの 'containerView'と' tableView'の制約を表示することができますか?私はちょうど私が期待した制約を使ってチェックとセットアップを行いました。しかし、もし私が 'containerView'か' tableView'のいずれかの制約を取り除くと、結果は600の 'width'になります。だから私はかなり制約の1つが設定されていないか間違っていると確信しています。 –
こんにちはZac、私はContainerViewから継承すると思うように、UITableViewControllerには制約が設定されていません。 UItableViewCの制約をどのように設定していますか? – richc
ああ、私の悪い、私は 'UIViewController'の' tableView'でそれを試してみます。しかし、今回は 'UITableViewController'を埋め込むことができます。幅は正しいです。 'containerView'制約を表示できますか? –