2017-01-31 14 views
0

新しいのはiOS programmingです。iOSでUIViewとUITextViewのサイズをプログラムで変更Objective-C

(ios + Objective-C + Auto resize)UITextViewUIViewの中にあります。最初に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で仕事をリサイズする方法を動的に私に説明してください。それは私があなたのビュー&のTextViewの高さを高めるために役立つ

- (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

関連する問題