2017-07-18 1 views
1

コレクションビューをCustomCollectionViewControllerのセルに追加したい場合、先頭と末尾の両方の位置に一定のスペースを入れてアンカータイプと仮想フォーマットタイプを試しましたが、私が望むように働かない。末尾のスペースがありません。ここアンカーがコレクションビューのセルレイアウトで機能しない

が私のコードです:

class CategoryCell: UICollectionViewCell, UICollectionViewDelegateFlowLayout { 
    override init(frame: CGRect) { 
     super.init(frame: frame) 

     setupViews() 
    } 

    required init?(coder aDecoder: NSCoder) { 
     fatalError("init(coder:) has not been implemented") 
    } 

    let appView:UICollectionView = { 
     let layout = UICollectionViewFlowLayout() 
     let view = UICollectionView(frame: .zero, collectionViewLayout: layout) 
     view.translatesAutoresizingMaskIntoConstraints = false 
     view.backgroundColor = UIColor.blue 
     return view 
    }() 

    func setupViews() { 
     contentView.addSubview(appView) 
     let layoutGuide = contentView.layoutMarginsGuide 

     appView.leadingAnchor.constraint(equalTo: layoutGuide.leadingAnchor, constant: 8).isActive = true 
     appView.trailingAnchor.constraint(equalTo: layoutGuide.trailingAnchor, constant: 8).isActive = true 
     appView.topAnchor.constraint(equalTo: layoutGuide.topAnchor).isActive = true 
     appView.bottomAnchor.constraint(equalTo: layoutGuide.bottomAnchor).isActive = true 

//  addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-8-[v0]-8-|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": appView])) 
//  addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[v0]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": appView])) 
    } 

} 

layout with Anchor

いますが、古い仮想フォーマットスタイルを使用している場合、それは正常に動作し、それは私が混乱します

layout with virtual format string

答えて

1

定数値trailingAnchor.constraintの値は、8ではなく-8でなければなりません。

appView.trailingAnchor.constraint(equalTo: layoutGuide.trailingAnchor, constant: -8).isActive = true 
+0

うん、単純で愚かな、あなたは私を助けて、たくさんthx :) – vg0x00

+0

あなたは歓迎です:) – Nemanja

関連する問題