用户点击“更多...”时展开文字视图

时间:2013-04-22 07:25:39

标签: xcode uitextview

有些应用程序的文本字段显示给定数量的行,当用户点击更多时,它会展开并显示其余部分, 我熟悉扩展我的UITextView的代码,但不知道如何添加“more ...”然后“less ...”,

选项it

微调问题:我不打算添加一个按钮,但是当文本大于控件的大小时,它具有默认的IOS行为,它将放置...结束或在中间例如:这是......或者......长......

2 个答案:

答案 0 :(得分:0)

你可以选择一个按钮并添加UIButton以便在UITextView下方查看,当你点击该按钮时,更改与UITextView相关的按钮位置和标题。

答案 1 :(得分:0)

你可以使用Method实现它(sizeWithFont:constrainedToSize:lineBreakMode:)

首先将需要显示的文本大小取出到TextField中,如下所示

 NSString *textToBeShown = @"jhfsdg djsgf jdsfsdf dsf";
 CGSize  textSize =  [textToBeShown sizeWithFont:[UIFont fontWithName:@"Arial-BoldMT" size:11]] 
                                constrainedToSize:CGSizeMake(constrainedWidth,constrainedHeight)
                                    lineBreakMode:NSLineBreakByWordWrapping];

假设您希望在按“ShowMore”按钮之前最初的textview高度为100.0,那么您可以检查textSize.height与100.0相比,如果textHeight小于100.0,则将TextView的Heigth指定为textSize.height else分配100.0像素。 现在,当点击show more按钮时,将textSize.height指定为用于显示文本的UITextView的高度。

NSString *textToBeShown = @"jhfsdg djsgf jdsfsdf dsf";
CGSize  textSize =  [textToBeShown sizeWithFont:[UIFont fontWithName:@"Arial-BoldMT" size:11]] 
                            constrainedToSize:CGSizeMake(constrainedWidth,constrainedHeight)
                                lineBreakMode:NSLineBreakByWordWrapping];

textView.frame=CGRectMale(textView.frame.origin.x,
                          textView.frame.origin.y,
                          textSize.width,
                          textSize.height);