2017-11-22 7 views
1

모든 UIView의를 기입하지 않고 뷰가 완전히 작성되지 않았습니다그라데이션 내가 그라디언트 레이어를 만들고 뷰에 삽입 할

This is my result...

내가 거기에 단서가없는 .. 그것은 ..

전체 화면보기에 있지만 더 작은 뷰에서 작동

톱뷰는 물론 스토리 보드에서 가져옵니다. 어쩌면 내가보기에 실수를했을 것이다. 나는 모른다. 나는 신속하고 IOS의 초보자이므로 모든 것이 가능합니다!

편집 : 뷰의 배경색이 모든 공간이 아니라 계층이 함께 할 수있다

+0

topView.bounds를 topView.frame으로 변경하면 어떻게됩니까? –

+0

여전히 같은 결과 – Psyycker

답변

3

을 채우기 때문에 문제는 뷰의 사이즈하지만 너무 작은 레이어의 크기가 아니다 스토리 보드의 제약 조건은 하위 뷰가 배치 될 때까지 적용되지 않습니다. viewDidLoad()에서보기의 크기는 스토리 보드에서 고정되어 있습니다. 레이어의 프레임을 설정하는 코드를 viewDidLayoutSubviews()으로 이동하면 제약 조건이 topView에 적용된 다음 올바른 프레임이 적용됩니다. 그런 다음 레이어의 프레임을 설정할 수 있습니다.

는 그 다음 전체보기를 채울 것이다 ProfileController

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 

    gradientLayer.frame = topView.frame 
} 

이 추가.

관련 문제