2017-01-31 14 views
0

신입생 iOS programming입니다.UIView 및 UITextView의 크기를 iOS에서 프로그래밍 방식으로 변경 Objective-C

내 응용 프로그램에서 (ios + Objective-C + Auto resize)UITextView 내면은 UIView입니다. 처음에는 UIView의 높이가 50이고 UITextView은 화면 하단에 30입니다.

내가 원하는 것은 사용자 유형에 따라 두 구성 요소의 높이를 변경하고 싶습니다. 즉, yheight 두 구성 요소가 모두 변경됩니다.

아래 코드를 사용하지만 올바르게 작동하지 않습니다.

- (void)textViewDidChange:(UITextView *)textView 
{ 
    CGFloat fixedWidth = textView.frame.size.width; 
    CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)]; 
    CGRect newFrame = textView.frame; 

    CGRect viewFrame = _viewMsg.frame; 
    viewFrame.origin.y = viewFrame.origin.y - (newSize.height - 30.0); 
    viewFrame.size.height = viewFrame.size.height + (newSize.height - 30.0); 
    _viewMsg.frame = viewFrame; 

    newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height); 
    textView.frame = newFrame; 

} 

Auto Resize과 작업의 크기를 조정하는 방법을 동적으로 설명해주십시오. 그것은 나를보기 & 텍스트 뷰의 높이를 높이는 데 도움이

- (void)textViewDidChange:(UITextView *)textView 
{ 
    CGFloat fixedWidth = textView.frame.size.width; 
    CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)]; 
    CGRect newFrame = textView.frame; 
    newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height); 
    textView.frame = newFrame; 


    CGRect viewFrame = _viewMsg.frame; 
    viewFrame.size.height = _viewMsg.frame.size.height; 
    viewFrame.origin.y= self.view-viewFrame.size.height-30; 
    _viewMsg.frame =viewFrame; 

} 

코드 아래에 따라

답변

0

당신은 변경할 수 있습니다.

+0

'viewFrame.origin.y = self.view-viewFrame.size.height-30;에 오류가 있습니다. –

+0

'_viewMsg'는 어디에 추가 되었습니까? 제 견해에 여기에서 사용해야하는 견해를'self.view'에 추가했습니다. – CodeChanger