1
我是iOS開發新手。我有一個contentView
爲UICollectionViewCell
,我想添加另一個視圖。我希望這個新視圖能夠延伸到contentView
的邊緣。我試圖做到這一點使用自動版式,所以這裏是我做過什麼:AutoLayout:子視圖越過父視圖的界限
let view = UIView();
view.backgroundColor = UIColor.yellow
contentView.addSubview(view)
view.translatesAutoresizingMaskIntoConstraints = false
view.topAnchor.constraint(equalTo: contentView.topAnchor).isActive = true
view.bottomAnchor.constraint(equalTo: contentView.bottomAnchor).isActive = true
view.leadingAnchor.constraint(equalTo: contentView.leadingAnchor).isActive = true
view.trailingAnchor.constraint(equalTo: contentView.trailingAnchor).isActive = true
這和預期一樣,我得到了我想要的行爲。然後,我希望contentView
有18分的填充,所以我想,我需要添加常數參數,並將其設置爲18這樣的:
view.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 18).isActive = true
view.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: 18).isActive = true
view.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 18).isActive = true
view.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: 18).isActive = true
我所期待的是,新的觀點,現在會比以前有更小的面積,因爲它現在從各個方向推了18點。我所得到的是一個與第一個場景相同的視圖,它從頂部和左側向前推進了18個點,並且越過了contentView
的界限!
能否請你告訴我什麼是錯我的代碼?
嘗試-18而不是頂部和左側 –
如果你開不使用自動版式,你可以用一個線很容易做到這一點:'view.frame =內容查看。 bounds.insetBy(dx:18,dy:18)' –