0

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

选项它

微调问题:我不希望添加按钮,而是在文本大于控件大小时具有默认的 IOS 行为,它将放置在末尾或中间例如:这是……或者这……长

4

2 回答 2

0

您可以使用方法 (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 的高度指定为 textSize.height 否则将其指定为 100.0像素。现在,当单击显示更多按钮时,将 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);
于 2013-04-22T07:47:29.410 回答
0

您可以使用一个按钮并将该 UIButton 添加到 UITextView 下方查看,当您单击该按钮时,更改与 UITextView 相关的按钮位置和标题。

于 2013-04-22T07:31:30.800 回答