有些应用程序的文本字段显示给定数量的行,当用户单击更多时,它会展开并显示其余部分,我熟悉扩展 UITextView 的代码,但不知道如何添加“更多... " 然后 "少...",
选项
微调问题:我不希望添加按钮,而是在文本大于控件大小时具有默认的 IOS 行为,它将放置在末尾或中间例如:这是……或者这……长
有些应用程序的文本字段显示给定数量的行,当用户单击更多时,它会展开并显示其余部分,我熟悉扩展 UITextView 的代码,但不知道如何添加“更多... " 然后 "少...",
选项
微调问题:我不希望添加按钮,而是在文本大于控件大小时具有默认的 IOS 行为,它将放置在末尾或中间例如:这是……或者这……长
您可以使用方法 (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);
您可以使用一个按钮并将该 UIButton 添加到 UITextView 下方查看,当您单击该按钮时,更改与 UITextView 相关的按钮位置和标题。