在textView之后放置一个名为“Send”的UIButton。 TextView内容在每种情况下都会有所不同,具体取决于xml解析字符串

时间:2011-06-28 12:56:32

标签: iphone ios

在我的应用程序中我有一个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;

请帮帮我......

1 个答案:

答案 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;

希望这有帮助。