セルの左半分を緑色に、右半分を赤色に色付けしようとしています。コメントする前にcell.frame.width
コードスニペットHEREをチェックしてください。後ろに空白があることがわかります。私の推測では、cell.frame
は私に必要な正しいフレームを与えていないということです。iOSテーブルビューのセルで行全体の幅を取得する方法
同じ結果を達成するための助けや他のアプローチは非常に感謝しています!
UPDATE:テーブルビューとcontraints Here
セルの左半分を緑色に、右半分を赤色に色付けしようとしています。コメントする前にcell.frame.width
コードスニペットHEREをチェックしてください。後ろに空白があることがわかります。私の推測では、cell.frame
は私に必要な正しいフレームを与えていないということです。iOSテーブルビューのセルで行全体の幅を取得する方法
同じ結果を達成するための助けや他のアプローチは非常に感謝しています!
UPDATE:テーブルビューとcontraints Here
より良い利用の自動レイアウトが、それは両方の向きで動作するアプリケーションを作成します。
また、実装では、セルごとにcellForRowAtIndexPathメソッドが呼び出されるたびにbgViewが作成されるため、bgViewがbgViewを作成するだけでなくnilであるかどうかをよく確認してください。 以下のコードを参照してください。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("CellID", forIndexPath: indexPath)
cell.backgroundColor = UIColor.clearColor()
if cell.backgroundView == nil {
let leftView = UIView()
let rightView = UIView()
rightView.backgroundColor = UIColor.redColor()
leftView.backgroundColor = UIColor.yellowColor()
cell.backgroundView = UIView()
cell.backgroundView?.addSubview(leftView)
cell.backgroundView?.addSubview(rightView)
leftView.translatesAutoresizingMaskIntoConstraints = false;
rightView.translatesAutoresizingMaskIntoConstraints = false;
let viewDict = ["leftView":leftView, "rightView":rightView]
cell.backgroundView!.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-0-[leftView]-0-|", options: [], metrics: nil, views: viewDict))
cell.backgroundView!.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-0-[rightView]-0-|", options: [], metrics: nil, views: viewDict))
cell.backgroundView!.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|-0-[leftView]-0-[rightView(==leftView)]-0-|", options: [], metrics: nil, views: viewDict))
}
cell.textLabel?.text = "dsfsdkjfh fkjhsdkjfhs kdfksdhfk sdf";
return cell
}
ありがとうございます。魅力のように働く。私がaddsubviewの後に失われたにもかかわらず... LOLしかし、私はちょうどそれをコピーして貼り付けます。 – DDR
これは、多くの理由があります。カップルの事あなたは試みることができる:
cell.accessoryType = .None
むしろより:セルは、などのチェックマーク、矢印、.Noneにセルの付属品の種類を設定してみてくださいなどのアクセサリビューのための部屋を作ることも
を右側のビューを追加し、代わりにセルの背景色を設定してみてください、そして左側を設定すると、/ 2
をview.widthするcell.backgroundColor = UIColor.redColor
let leftViewFrame = cell.bounds
leftViewFrame.width = view.frame.width/2.0
let leftView = UIView(frame: leftViewFrame)
別の潜在的な問題は、のviewDidLoadでこれを解決することができます:
self.automaticallyAdjustsScrollViewInsets = false
try cell.contentView.frame.size.width。 –
でした。これは 'cell.frame.size.width'と同じです – DDR