有些应用程序的文本字段显示给定数量的行,当用户点击更多时,它会展开并显示其余部分, 我熟悉扩展我的UITextView的代码,但不知道如何添加“more ...”然后“less ...”,
选项
微调问题:我不打算添加一个按钮,但是当文本大于控件的大小时,它具有默认的IOS行为,它将放置...结束或在中间例如:这是......或者......长......
答案 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);