2012-04-10 9 views
2

업데이트 : iOS 4는 주요 플레이어입니다. 만약 당신이 iOS 4 sim을 사용하고 있다면, 결코로드되지 않았기 때문에, 레이블은 그 크기에 대해 0.00을 반환 할 것입니다 ... 이것은 나의 마지막 질문을 다음과 같이 바꿉니다 : "Xib가 또는 다른 글꼴을로드하는 중 ... 아니면 둘 다 작동하는 글꼴을로드하고 크기를 부여한 다음 iOS 5이면 더 새로운 것으로 변경하여 테스트를 넘기는 것이 좋을까요? "UILabel pointSize는 항상 0을 반환합니다.

디자이너가 Xib에 들어가서 새 글꼴이 더 얇아서 정상적인 Helvetica (iOS 4의 경우) 크기가 더 작아 지도록 변경해야한다는 이유로 후자는 분명하지만 이상적이지는 않습니다. . 시각적으로 말하면, 디자이너와 나는 그것을 디자인 할 때 틀린 폰트를 본다. 단지 이상적이지 않다.

아마 이걸 알았지 만 가능하다면 iOS 마법사가 xib로드 문제에 대한 xib-0-initial 테스트에 응답 할 수 있기를 바랍니다.

내 콘센트에서 현재 설정되어있는 글꼴의 포인트 사이즈를 잡으려고 노력하고있어 정말 힘든 시간을 보내고 있어요 -----

----- 최종 업데이트.

문제 : iOS 4에서 사용중인 글꼴을 지원하지 않습니다. iOS 5가 있습니다.

해결책 : 현재 iOS 수준을 가져 오는 함수를 호출하고, 5이면 동일한 레이블을 반환하고 글꼴 유형을 사용합니다. iOS 4 인 경우 Helvetica로 설정하고 크기를 잡으십시오 (xib에서 설정).

크기를 가져올 수 없으며, 항상 0.00을 반환합니다 (일부 경우를 제외하고는이를 확인하려고하지만 ...) 원인은 지연로드가 아닙니다. 보기를로드 할 때 1 초 지연 후 동일한 기능 (글꼴 변경)을 호출했습니다.

결과 :

는 "XX의 글꼴을 얻을"기능 인쇄 0.00 전에 labelName.font.pointSize을 NSLogging 인쇄 후 크기를하고 있어요.

이상한 부분 : xHeight, pointSize 또는 lineHeight (frame.size.height가 너무 큽니다. 그렇지 않은 경우)를 사용하는지 여부에 관계없이 수동으로 찾을 수는 없지만 단순히 글꼴을 반환하면 iOS 5의 경우 제대로 된 것처럼 보이는 것처럼 보이게됩니다. 나는 그것이 사적으로는 아니지만 사적인 것으로 생각할 수도 있지만 그것을 발견하지 못했습니다.

문제는 라벨을로드하는 데 필요한 시간 이상으로 두 번째 지연 시간이 길어 지므로 (라벨이 표시됨) 지연 생성을 지연시킬 수 없습니다.

이제 재부팅 할 수없는 문제가 생겨서 고칠 수 있습니다.

도움 주셔서 감사합니다.

나는 이것이 내가 요구하기 때문에 어떤 해결책을 발견하지 않은 나에게 조금

답변

0

을 당혹, 아이폰 OS의 새로운 아니에요. 대답은 다음과 같습니다 : iOS 4는 간단히 글꼴을 만들지 않고 이전 iOS 버전은 해당 플랫폼에 글꼴이없는 경우 레이블의 텍스트를 만들지 않습니다.

MKMapKit와 같은 WWDC 비디오에 있기 때문에 이것이 설명되어 있지 않다는 것을 알고 있습니다. mapRect defs

관련 문제