0
新しいのはiOS programming
です。iOSでUIViewとUITextViewのサイズをプログラムで変更Objective-C
(ios + Objective-C + Auto resize)
UITextView
はUIView
の中にあります。最初にUIView
の高さは50で、UITextView
は画面の最下部で30です。
私がしたいのは、両方のコンポーネントの高さをユーザータイプとして変更することです。つまり、両方のコンポーネントのy
とheight
が変更されます。
以下のコードを使用していますが、正しく動作しません。
- (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;
}
コード以下のとおり
'viewFrame.origin.y = self.view-viewFrame.size.height-30;' –
あなたの '_viewMsg'はどこに追加されましたか?私の場合はここで使用する必要があるビューを 'self.view'に追加しました。 – CodeChanger