Swift에서 UIScrollView 안에 UIView를 넣는 방법
조회수 4322회
스토리보드에서 메인 뷰 안에 스크롤 뷰를 넣어 놓고, 그 안에 동적으로 생성한 UIView를 넣으려고 하는데요, 뭔가 잘못 되었는지 뷰가 보이지 않습니다.
class MainViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
let view = UIView()
view.backgroundColor = UIColor.red
view.widthAnchor.constraint(equalToConstant: 100).isActive = true
view.heightAnchor.constraint(equalToConstant: 150).isActive = true
scrollView.addSubview(view)
}
}
어디가 문제일까요?
view.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
같은 코드를 넣으면 "Unable to activate constraint with anchors" 라는 에러가 나면서 죽어버립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
스택오버플로우에서 찾아서 해결했습니다.
class MainViewController: UIViewController { @IBOutlet weak var scrollView: UIScrollView! override func viewDidLoad() { super.viewDidLoad() let view = UIView() view.backgroundColor = UIColor.red view.widthAnchor.constraint(equalToConstant: 100).isActive = true view.heightAnchor.constraint(equalToConstant: 150).isActive = true view.translatesAutoresizingMaskIntoConstraints = false scrollView.addSubview(view) view.leftAnchor.constraint(equalTo: scrollView.leftAnchor).isActive = true view.topAnchor.constraint(eqaulTo: scrollView.topAnchor).isActive = true } }
translatesAutoresizingMaskIntoConstraints를 주고, subview를 먼저 추가 한 다음에, constraint를 주면 되네요.
참고) 링크 이름
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
Anchor 는 안 써봤지만....
scrollView의 contentSize를 지정해 보세요~
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력