在我的应用程序中我有一个textview。我正在编程中在textview中显示一些字符串内容。我必须在texView之后放置一个名为“Send”的UIButton。这意味着我正在从xml文件中解析字符串内容。所以字符串长度应该在每种情况下都不同。
但是我必须在textView之后放置一个发送按钮。怎么做 。我找到了以下代码段。但有时它会在textView之后显示发送按钮。有时它不在位置(重叠)。帮助我...
newsSecondPart是我的textView .....
int secondStringLength = secondStr.length;
int height = secondStringLength / 48;
height = height * 18.0;
//newsSecondPart is my textView
CGRect newsSecondPartFrame = newsSecondPart.frame;
if (height < 400)
newsSecondPartFrame.size.height = height + 475; // for text unhiding
else
newsSecondPartFrame.size.height = height + 975; // for text unhiding
if (secondStringLength > 5000) {
newsSecondPartFrame.size.height += 150;
}
newsSecondPart.frame = newsSecondPartFrame;
CGRect viewFrame = superView.frame;
viewFrame.size.height = newsSecondPartFrame.size.height + 200 ;
superView.frame = viewFrame;
scrollView.contentSize = superView.bounds.size;
scrollView.contentSize = CGSizeMake( 0, newsSecondPartFrame.size.height+300);
newsFirstPart.text = firstStr;
newsSecondPart.text = secondStr;
请帮帮我......
答案 0 :(得分:0)
要获得textview的动态大小,您需要以下代码
CGSize size = [secondStr sizeWithFont:txtView.font constrainedToSize:CGSizeMake(txtView.frame.size.width,10000)];
size.height +=10;
这样你就可以获得字符串的动态高度。
现在您可以设置textview框架
CGRect frame = txtView.frame;
frame.size.height= size.height;
txtView.frame = frame;
现在您可以设置按钮框架:
CGRect frame = btnSend.frame;
frame.origin.y = txtView.frame.origin.y + txtView.frame.size.height+10;
btnSend.frame = frame;
希望这有帮助。