我正在尝试执行与此链接http://www.oracle.com/webfolder/ux/mobile/pattern/img/expand-collpase-description.png
中类似的操作单击“更多”按钮时展开UITextView内的内容。我正在viewDidLoad中创建按钮,如下所示
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"more" forState:UIControlStateNormal];
[self.detailPriceView addSubview:button];
我在从PFQuery
加载数据后在UITextView中设置按钮的框架PFQuery *query = [PFQuery queryWithClassName:self.restaurantName];
[query whereKey:@"ItemName" equalTo:self.item_name];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *itemDataObj, NSError *error) {
if (!error) {
self.detailPriceView.text = [itemDataObj objectForKey:@"PriceDetail"];
self.detailPriceView.text = [self.detailPriceView.text substringToIndex:40];
[button setFrame:self.detailPriceView.frame];
}
}];
如何在文本末尾的UITextView中添加更多按钮?此外,我创建了一个约束,以便在单击更多按钮时增加其高度,但我无法将约束的高度增加到超过某个阈值大小。
答案 0 :(得分:2)
我正在做同样的事情。只需将按钮添加到textView.superView,因为textView是scrollView。在textView中使用button的rect作为
textView.textContainer.exclusionPaths = [UIBezierPath(rect: rect)]
最后,我做到了。最重要的是rect
中textView.frame
必须包含。
答案 1 :(得分:0)
我不确定Apple是如何实现它的,但我几乎可以保证它不是UITextView的子视图。我将如何实现此功能将为UITextView设置自定义容器视图。设置容器的默认高度,然后如果UITextView的高度大于容器视图的高度,则在右侧(或左侧,或右上方或任何您想要的位置)显示更多 UIButton 左下角似乎是最有意义的,它只是动画容器视图的高度以适应UITextView。
如果您真的想在textview中完成所有操作,我想您必须将其子类化以提供这种自定义功能,但是其他人可能知道如何在不对UITextView进行子类化的情况下完成所有操作。我的方法将是上述方法。