2016-11-14 1 views
0

뷰의 1/3을 채우는 가로 스크롤 뷰가 있습니다.뷰 스크롤과 일치하지 않는 스크롤 뷰에서 프로그래밍 방식으로 UILabel을 프로그래밍 중심으로 배열

은 내가 성공적으로 수행 한 스크롤 뷰의 중심에 UILabel의를 넣어 원하는 :

let reagentsLocationx = mainscrollview.frame.width/2-100 

을 그러나, 나는있는 ScrollView 내에서 수직으로 라벨을 가운데 고군분투하고있다. 시약 위치에 대해 비슷한 코드를 사용하면 위치가 레이블보기의 중심에 있고 스크롤보기 안에 있지 않습니다.

Swift에서 스크롤보기 내에서 레이블을 가운데 놓는 방법은 무엇입니까?

감사합니다.

답변

0

프레임과 경계를 사용하고 있기 때문에 이것이라고 생각합니다. 프레임이 화면 공간보다 커질 것이라고는 생각하지 않지만 뷰의 실제 크기와 동일합니다. 스크롤 뷰 높이 경계를 기준으로 해보십시오.

UIScrollView().contentSize.height 당신이 찾고있는 것일 수도 있습니다.

+0

나는 발견했지만 기쁨이없는 다른 게시물의 경계를 사용하여 시도했습니다. 다시 시도하고 답변 할 시간을 내 주셔서 감사합니다. – JamieS

+0

나는 대답했다. 확인 해봐. – Sethmr

+0

나는 bounds를 사용해 보았지만 여전히 화면의 수직 중앙에 레이블을 배치하고 scrollview의 수직 중심에는 레이블을 배치하지 않습니다. UIScrollView() 제안은 시계 뒤에 레이블을 배치하므로 제로와 같다고 생각합니다. – JamieS

0

코드에 크기를 설정할 필요가 없습니다.

모든 것이 스토리 보드에서 완료되었습니다.

  1. 뷰 컨트롤러로 스크롤보기를 드래그하십시오.

  2. scrollview의 위쪽, 아래쪽 및 아래쪽 제약 조건을 부모보기 또는 안전 영역에 설정합니다.

  3. 스크롤 막대에 텍스트 레이블을 드래그하십시오.
  4. 상단, 하단, 선행 및 후행 제약 조건을 scrollview에 설정하십시오.
  5. 중요 텍스트 레이블에서 부모보기 (UIView - 스크롤보기 아님) 또는 안전 영역으로 두 번째 선행 및 후행 제약 조건을 설정하십시오. 이렇게하면 텍스트 레이블이 너비를 알고 스크롤 뷰도이를 알고 있습니다.