본문 바로가기

기술43

xCode 4.2에서 sizeWithFont:constrainedToSize:lineBreakMode: 사용시 주의점. 일단 해결책을 구할 수 있었던 곳의 url 링크를 먼저. 참조 : http://firekokoma.tistory.com/151 UILabel 등에 텍스트를 동적으로 입력을 할 때 크기를 바꿔줘야하는 경우가 생깁니다. 동적으로 크기를 구하기 위해서 많이들 사용하시는게 아래 메소드입니다. - sizeWithFont:constrainedToSize:lineBreakMode: 예를 들자면, CFSize size = [ViewContents.text sizeWithFont:[UIFont boldSystemFontOfSize:15.0] constrainedToSize:CGSizeMake(250, 5000) lineBreakMode:UILineBreakModeWordWrap] 이렇게들 쓰지요. xCode 4.2 에서.. 2012. 2. 20.
DrawRect와 setNeedsDisplay. UIView 객체가 생성될 때 뷰들이 준비(viewDidLoad)되고 난뒤 그려줄 때 DrawRect가 불려진다. 화면에 그려주고 싶은게 있으면 보통 DrawRect에서 그려주는데, setNeedsDisplay로 DrawRect가 다시 불릴 수 있도록 이벤트를 던질 수 있다. 다만, Event Driven형식으로 동작하는 iOS에서는 setNeedsDisplay를 사용하면 즉시 drawRect가 동작되지 않는다. 이 녀석은 다시 그려야 할 것이 있다는 Flag만 설정 해 주고, 다음 실행 루프에서 drawRect가 동작하게 된다. * setNeedsDisplay Marks the receiver’s entire bounds rectangle as needing to be redrawn. Discussio.. 2012. 2. 12.
[NSString alloc] initWithXXXX 시에 retainCount 가 2147483647 나오는 이유. NSString *tt2 = [[NSString alloc] initWithString:@"tt2"]; NSLog(@"tt2 retain count : %d", [tt2 retainCount]); [tt2 release]; NSLog(@"tt2 retain count : %d", [tt2 retainCount]); 코딩 질을 하길 위 처럼 하면 예상되는 로그는 1 0 일겁니다. 그런데, 경악스럽게도 2147483647 2147483647 가 나옵니다. 그 이유가 개발자 문서 retainCount 메소드 부분에 나와있네요. NSObject - retainCount For objects that never get released (that is, their release method does nothing.. 2012. 2. 7.
Lion에서 사용자 라이브러리 폴더 보이게 하기. Lion에서는 사용자 폴더 밑에 '라이브러리' 폴더가 히든 상태임. 이전 버전까지는 '라이브러리'가 잘 보여서 iphone simulator 폴더에 쉽게 접근이 가능했음. 히든 풀어주는 명령을 터미널에서 넣으면 됩. chflags nohidden ~/Library 참고로 일반적인 iPhone simulator 경로 : /Users/ 사용자명 /Library/Application Support/iPhone Simulator/4.3/Applications/ App의 GUID /Documents 2012. 2. 7.
iBooks Author & iTunes U 아시는 분은 아시겠지만, 지난 밤 애플이 시장을 들썩이게 만드는 또 하나의 서비스를 내 놨습니다. iBooks Author 와 iTunes U 입니다. 이전까지는 iPad에서 볼 수 있는 iBooks용 컨텐츠를 개별적인 툴로 만들거나 pdf 등을 올려서 이용했었는데, 애플에서 iBooks를 만들 수 있는 저작툴을 배포했네요. 그것도 무료로. (머..맥을 가지고 있어야 한다는 전제가 있어서 무료라고 하긴 조금 그렇습니다만. ㅎㅎ 잠깐 써 보니 파워포인터나 키노트를 만져본 분이면 누구나 쉽게 접근 할 있을 듯해요.) 교육 시장을 목표로 만들었다고는 합니다만, 지난 회사에서 패드용 매거진류를 만들어본 제 입장에서는 일반 매거진부터 개인저작자들까지 많은 영향을 받을 것 같습니다. 시장이 들썩들썩 거리는 듯해요... 2012. 1. 20.
잘 돌던 시뮬레이터에서 App 실행이 안될 때. 잘 돌던 시뮬이나 타겟이 잘 돌다가 죽는 경우가 가뭄에 콩나듯 생깁니다. 그러면서 아래와 같은 로그가 뜨는 경우가 있습니다. Couldn't register com.yourcompany.XXX with the bootstrap server. Error: unknown error code. This generally means that another instance of this process was already running or is hung in the debugger.Program received signal: “SIGABRT”. '잘 돌던게 갑자기 왜~~~?? ㅓㄷㄹㅇㄹㄴㅁ;ㅐㅑ아' 라면서 패닉에 빠지지 마시고, 살포시 시뮬레이터를 재실행 시켜주고, 그래도 안되면 XCode 를 재실행 시켜주시면.. 2011. 11. 15.