2011-03-10 4 views
1

나는 범용 iPhone/iPad 앱이 있습니다. 주 메뉴에는 UIImage와 UILabel이 있으며, 외부에 현재 날씨 상황을 보여줍니다. UILabel은 현재 온도를 보여줍니다.iPad에서 앱을 열 때 위치 UILabel

두 버전 모두 동일한 XIB를 사용하고 있습니다. 고해상도를 사용하는 모든 그래픽을 iPad 용으로 확장했습니다.

iPhone 버전에서는 UIImage 바로 아래에 라벨이 중앙에 있습니다. 이는 내가 원하는 기능입니다. iPad에서로드 될 때 UIImage는 더 커지지만 레이블은 화면 왼쪽의 동일한 위치에 머무르며 큰 이미지 아래에 위치하지 않습니다. 나는 IB에서 여러 가지 일을 시도해 왔고, 나는 그것을 얻을 수 없었다.

iPad에로드 할 때 텍스트 크기를 더 크게 만들 수 있습니까?

아이폰 버전 : http://img855.imageshack.us/i/iphonei.png/

아이 패드 버전 : 레이블 문제에 대한 http://img163.imageshack.us/i/ipadh.png/

답변

2

확실하지,하지만 텍스트 크기를 변경하려면 여기를

내가 무슨 말을 묘사하는 일부 이미지입니다 iPad의 경우 iPad를 사용하고 있는지 테스트 한 다음 필요에 따라 코드를 변경하는 데 사용하는 기능을 만듭니다. 그 일을하는 기능이 있습니다.

BOOL isIPad() 
{ 
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) 
    { 
     return YES; 
    } 
    return NO; 
} 

그런 다음 조건부 코드를 작성하십시오. 예를 들어 :

if (isIPad()) 
{ 
     [[self mainLabel] setFont: [UIFont systemFontOfSize: 18.0]]; 
} 
else 
{ 
     [[self mainLabel] setFont: [UIFont systemFontOfSize: 14.0]]; 
} 

인터페이스 빌더는 슬픔 제공하는 경우, 당신은 또한 동일한 방법을 사용할 수 있습니다

귀하의 경우
UIButton *infoCircle; 

    if (isIPad()) 
    { 
     infoCircle = [UIButton buttonWithType:UIButtonTypeInfoDark]; 
    } 
    else 
    { 
     infoCircle = [UIButton buttonWithType:UIButtonTypeInfoLight]; 
    } 

, 당신은 같은과 라벨의 글꼴 크기를 조정할 수 있습니다 프로그래밍 방식으로 UILabel의 위치를 ​​변경하십시오. 때때로 이것은 더 빠르며, 특히 인터페이스가 안정화되면 더욱 빨라집니다.

+0

감사합니다. 레이블을 올바르게 배치하고 TextAlignment를 왼쪽으로 설정하여 원하는 위치로 가져올 수있었습니다. 레이블에서 텍스트 크기를 더 크게 얻을 수 없었습니다. sizeWithFont를 사용했지만 글꼴 크기가 변경되지 않았습니다. – RyanG

+0

내 응용 프로그램에서 레이블에서 변경할 텍스트 크기를 사용하는 몇 가지 코드를 추가했습니다. UILabel의 크기를 조정하는 방법에 따라 프레임을 설정하거나 레이블을 설정 한 후 sizeToFit 메시지를 보내고 뷰에 추가 한 CGRect를 조정해야 할 수도 있습니다. 희망이 도움이됩니다. IB에서 label을 설정 한 경우 adjustsFontSizeToFitWidth 속성을 설정하지 않았는지 다시 확인해야 할 수 있습니다. 있다면 iOS가 글꼴 크기를 레이블 크기로 축소합니다. 당신의 경우에, 당신이 원하는 바가 아닐 수도 있습니다. – Obliquely

+0

감사합니다. 이제 글꼴 크기가 조정됩니다! – RyanG

관련 문제