2014-01-16 7 views
0

스크롤보기가 있습니다. 스크롤 뷰에서 필자는 필요한 많은 UILabels 및 UIButtons 등을 추가했습니다.UI 요소를 UIScrollView에 추가 하시겠습니까?

이제 라벨 및 버튼을 추가하고 싶지만보기 인터페이스에 추가 할 공간이 없습니다. 그렇지 않으면 다른 요소와 겹칩니다. 사용자가 스크롤 할 때 상호 작용할 수 있도록 더 많은 UI 요소를 추가하려면 어떻게합니까? 스크롤 뷰의 아래쪽에 UIelement를 놓고 스크롤하면 "아래로 스크롤하여"더 많은 공간이 표시됩니다.

나는 iOS 디자인을 처음 사용하므로 나와 함께있어주세요. 고맙습니다.

+1

'.xib' 파일에이 모든 내용을 담은 UIView를 디자인하고 원하는 크기로 뷰를 만든 다음 'viewDidLoad'에서 스크롤 뷰에 넣을 수 있습니다. – nhgrif

+1

[내 책 섹션] (http://www.apeth.com/iOSBook/ch20.html#_creating_a_scroll_view)을 읽으면 도움이 될 것입니다. 섹션의 후반부 (nib 편집기에서 스크롤 뷰의 내용을 디자인). – matt

+0

다음은 단계별 지침입니다. http://stackoverflow.com/questions/20502860/scroll-view-not-functioning-ios-7/20503513#20503513 –

답변

1

중요한 점은 펜촉 (.xib 파일 또는 스토리 보드)의보기 컨트롤러 기본보기가 인터페이스에 삽입 될 때 항상 크기가 조정된다는 점입니다. nib 편집기 (Interface Builder)에서 볼 수있는 크기는 단지 "제공되는 제안"일뿐입니다. 따라서 SamirChen의 답변은 매우 좋습니다. 크기를 조정할 수 있도록보기를 Freeform으로 설정하고 원하는 크기의 모든 내용을 넣을 수 있도록 스크롤보기를 충분히 크게 잡습니다. 스크롤 뷰 외부

  • 사용 자동 레이아웃 :

    난 당신이 도움이됩니다 두 점을 추가합니다. 이렇게하면보기가 인터페이스에 맞게 크기가 조정될 때 스크롤보기가 올바른 크기가되고 다른 모든 항목의 위치가 올바르게 변경됩니다.

  • 스크롤보기에서도 autolayout을 사용하십시오! 이것은 정말 멋진 부분입니다. 스크롤 뷰의 모든 내용과 스크롤 뷰 자체 (수퍼 뷰) 사이에 충분한 제약 조건을 설정하면 contentSize이 자동으로 계산됩니다. 따라서 콘텐츠 크기를 알거나 코드에서 설정할 필요가 없습니다!

그것은 설명하는 것보다 볼, 그래서 example code from my book를 다운로드하고 현재 "bk2ch07p367scrollViewInNibAutolayout"와 "bk2ch07p367scrollViewInNibAutolayout2"라는 제목의 예를 살펴 쉽습니다.

+0

와우. 너의 책을 가져와야 해! – Cescy

+0

온라인으로 iOS 6 버전을 읽을 수 있지만 얻을 수있는 버전은 iOS 7 버전입니다. – matt

0

".xib 파일에서이 모든 내용을 포함하는 UIView를 디자인하고 원하는 크기로 뷰를 만든 다음 @nhgrif에서 참조하는 viewDidLoad의 스크롤 뷰에 배치 할 수 있습니다.

스크롤보기의 contentSize 속성을 변경하여 UIView의 경계를 만족시키는 것을 잊지 마십시오.

+0

코드없이이를 수행하는 방법은 무엇입니까? – Cescy

+0

@CescSergey 내가 아는 한, IB에는'UIScrollView'의'contentSize'를 설정할 곳이 없습니다. – KudoCC

+0

그래서'UIelement'를'서브 뷰 '로 추가 할 때마다'self.view.bounds'를 호출해야합니까, 아니면'viewdidload'의 끝에서 한번 할 수 있습니까? – Cescy

1

내가 아는 한 인터페이스 작성기에서 Scrollview을 스크롤 할 수 없습니다. 인터페이스 빌더에서 스크롤 뷰에 레이블과 버튼을 추가하려는 경우 스크롤 뷰를 보유하는 View Controller의 크기를 Freeform, Attribute Inspector으로 설정할 수 있습니다. 그런 다음보기의 크기를 Size Inspector에 원하는 값으로 설정할 수 있습니다. 스크롤바의 크기를 변경하여 더 많은 라벨과 버튼을 추가 할 수 있습니다.

+0

이 일반적인 관행입니까? 그렇지 않습니다. – Cescy

+0

@CescSergey "iOS 디자인에 익숙하지 않다면"어떻게하면 일반적인 관행인지 알 수 있습니까? 그것은 사실 꽤 표준입니다. – matt

+0

나는 본능을 모르겠다. 스크롤 뷰에서 스크롤 뷰를 설정할 수 있어야한다. – Cescy

관련 문제