티스토리 뷰
내용 텍스트의 길이에 맞추어 높이가 자동으로 조절되는 뷰를 만들기 위해
uilabel dynamic height 의 검색어로 거의 하루종일 구글링 해가며 씨름했지만
https://gist.github.com/danielphillips/1005520
http://www.cimgf.com/2009/09/23/uitableviewcell-dynamic-height/
http://www.samrayner.com/posts/dynamic-tableview-cells/
위 주소들에 보이는 등의 코드들을 아무리 써봐도 높이 조절이 되지 않았다.
(결론적으로, 저 코드들만 놓고 보자면 옳다. 현재 iOS에선 deprecated 된 부분들만 치환한다면...)
저런 올바른 코드들이 먹히지 않았던 이유는
밤 11시가 넘어서야 겨우 찾아내게 되었다.
http://stackoverflow.com/questions/12387448/setframe-of-uilabel-property-of-xib-doesnt-work
Storyboard 또는 xib의 뷰를 클릭하고
File Inspecter (알트+커맨드 + 1)활성시키고
스크롤 중간쯤의 Interface Builder Document 섹션을 보면
[v] Use AutoLayout
이란 넘이 있다.
일단은 저 체크를 해제하고
자동 높이 조절 코드가 들어간 프로젝트를 실행시키면
아쥬~ 잘 동작하는것을 볼 수 있다.
허나, iOS6 이상에 추가된 AutoLayout 기능은 괜히추가된 기능이 아니다.
레이웬더리치의 오토 레이아웃 튜토리얼(새창)을 보면
골치아픈 레이아웃 문제들에 대한 편의를 제공해준다는것을 알 수 있다.
그러면 좀 전에 체크 해제한
[ ] Use AutoLayout
을 다시 체크하도록 하고
AutoLayout을 통해서의 자동 높이조절 해결법을 보겠다.
http://stackoverflow.com/a/16009707
위 링크의 글을 잘 보고난 뒤
http://stackoverflow.com/a/18049684
를 따라해보면 AutoLayout 에서도 자동 높이가 잘 작동한다.
과정을 보자면,
스토리보드나 xib을 클릭하여 인터페이스 빌더에서
자동 높이조절을 원하는 뷰 - 여기서는 UILabel *tmpLabel 을 그리 한다고 가정 - 를
클릭하고
링크의 글에서 보이는 하단 (아이콘들이 있는) 컨트롤바의 아이콘 중
ㅏ+ㅓ 를 클릭하면 나타나는
Add New Constrains 팝업뷰에서
[v] Height 체크하고
제일 아래의 [Add 1 Constrains] 버튼 클릭
Interface Builder 왼쪽 해당 Lable에 계층적으로
Constrains가 추가된것을 확인 할 수 있는데
아까 추가한 그 하위 항목을 클릭하고
Size Inspector 활성화 후 (단축키 alt + CMD + 4)
Relation : Greater Than or Equal 로 바꿔주고
프로젝트를 다시 실행해보면
이제, AutoLayout 상에서 자동 높이 조절이 잘 동작한다.
남은 일은 AutoLayout을 제대로 적용하기 위해서
뷰들에게 Constrains(제약조건들)를 추가해주는 것이다.
http://www.raywenderlich.com/ko/page/3 (한글)
http://blogios.stack3.net/archives/category/tutorial (일본어 - Use browser's 번역 extension)
위 링크 페이지의 목록 중 '오토 레이아웃' 관련 강좌들을 보면 많은 도움이 될 것이다.
'모바일 > iOS' 카테고리의 다른 글
property attributes (nonatomic, copy, strong, weak) (0) | 2014.02.24 |
---|---|
message sent to deallocated instance 같은 오류 Debug (0) | 2014.02.24 |
iOS 자동 UITableView Paging & infinite loading (0) | 2014.02.17 |
UIImageView+WebCache.h: No such file or directory 오류 해결 (0) | 2013.05.28 |
XCode 4.x 이상에서 디버깅 셋팅과 추적 (0) | 2013.05.27 |
- Total
- Today
- Yesterday
- Make Use Of
- How to geek
- 인터넷 통계정보 검색시스템
- 트위터 공유 정보모음
- 웹표준KR
- 치우의 컴맹탈출구
- Dev. Cheat Sheets
- w3schools
- Dev. 조각들
- ASP Ajax Library
- CSS Tricks
- WebResourcesDepot
- jQuery Selectors Tester
- DeveloperSnippets
- Smashing Magazine
- Nettuts+
- devListing
- 웹 리소스 사이트(한)
- Mobile tuts+
- Dream In Code
- Developer Tutorials
- CSS3 Previews
- 자북
- 안드로이드 사이드
- Code Visually
- Code School
- SQLer.com
- 무료 파워포인트 템플릿
- iconPot
- Free PowerPoint Templates
- Design Bombs
- Web Designer Wall
- 1st Webdesigner
- Vandelay Design
- 무료 벡터 이미지 사이트들
- Tripwire Magazine
- Web TrendSet
- WebMonkey
- 윤춘근 프리젠테이션 디자이너 블로그
- cz.cc 무료 DNS
- [웹하드] MediaFire
- [웹하드] DivShare
- 한컴 인터넷 오피스
- 안드로이드
- Debug
- Linux
- Chrome
- JSON
- classic asp
- mssql
- Wordpress
- sencha touch
- IE
- nodejs
- Android
- nginx
- IOS
- CSS
- centos
- PHP
- git
- iis
- laravel
- Mac
- JQuery
- iphone
- 워드프레스
- javascript
- 한글
- Prototype
- ASP
- Docker
- API
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |