2013-06-12 6 views
0

새로운 4 인치 화면에 표시 될 때 확장되지 않도록 텍스트보기 크기를 조정하는 방법은 짧지 않습니까? AutoLayout을 사용하고 있습니다. 또한 iOS 키보드는 두 장치 모두에서 216 포인트를 차지하고 두 장치에서 네비게이션 막대가 44 포인트를 차지하므로 나머지보기는 320x460 화면에서 200 포인트가됩니다. 하지만 어떻게 아이폰 5 화면에 상대적으로 이것을 설정합니까? 어떤 도움을 주시면 감사하겠습니다. 내 문제를 더 잘 이해하는 의미를 설명하기 위해 캡쳐 화면을 제공했습니다.4 "디스플레이 용 TextView 크기 조정

일반 화면 (위대한 작품!) :

아이폰 5 화면 (정말 대단하지!) :

+2

아이폰 5 화면 4 " – Kevin

+0

@Kevin 죄송합니다! 이름과 화면 하하. 제목이 – Carpetfizz

답변

0

그것은이

CGFloat TextFieldHeight = self.view.frame.size.height - keyboardHeight- statusbarheight - navigationBarHeight; 
같은 텍스트 필드의 매우 간단한 계산의 높이

그런 다음이 높이를 텍스트 필드에 지정하십시오.

CGRect TextFieldNewFrame = textField.frame; 
TextFieldNewFrame.size,height = TextFieldHeight; 
textField.frame = TextFieldNewFrame; 
+0

감사합니다! 나는이 작업을 완료했습니다. 변경,하지만 실제로 내 텍스트 뷰 속성에 할당 할 방법을 혼합 "[[self htmlText] frame] .size.height = textFieldHeight; '를 사용하고 있습니다. – Carpetfizz

+0

textView 프레임은 읽기 전용 속성이 아닙니다. CGRect를 만든 다음 텍스트 뷰 프레임에 할당 할 수 있습니다. 편집 된 답변보기 –

0

다음과 같이 수행하십시오 :

self.view.autoresizesSubviews = YES; self.textView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

+0

고마워.하지만이 방법은 효과가 없었다. – Carpetfizz

0

그냥 그 특정보기 컨트롤러에 대한 자동 레이아웃을 사용 중지하고 내 자신의 CGRect를 설정합니다.

CGRect largeScreen = CGRectMake(0, 1, 640, 290); 
    CGRect screenBounds = [[UIScreen mainScreen]bounds]; 
    if (screenBounds.size.height==568) 
    { 
     [self.htmlText setTranslatesAutoresizingMaskIntoConstraints:YES]; 
     htmlText.frame = largeScreen; 

    } 
관련 문제