Tag: uitextview

UITextView内容偏移量在设置完帧后发生变化

我正在build立一个非常类似于消息应用程序的视图 – 我有一个UITextView的页面底部的子视图,当用户键入和到达行的末尾的文本视图以及包含视图它应该向上扩展。 我有它的工作方式是在textViewDidChange:方法我打电话给我的布局function,这样做 CGFloat textViewWidth = 200; CGFloat textViewHeight = [self.textView sizeThatFits:CGSizeMake(textViewWidth, 2000)].height; [self resizeParentWithTextViewSize:CGSizeMake(textViewWidth, textViewHeight)]; // And then the resize parent method eventually calls textView.frame = CGRectMake(10, 10, textViewWidth, textViewHeight); 问题是,当在行尾input并且视图展开时,我最终在文本视图中产生了类似于10.5的任意contentOffset.y ,所以文本全部移动到视图的顶部。 奇怪的是,它在每隔一行都是交替的,所以第一次扩展会使y内容偏移向上移动,然后在下一行接近零,然后返回到下一行的10.5,等等(不确定是否有帮助或只是我的价值观的一个奇怪的人工制品)。 之后我可以将它设置回零,但是看起来很糟糕,因为有一个短暂的闪光,文本有偏移值,然后它被移回到中间。 我读过通常使用滚动视图的内容插入而不是改变框架,但是我不知道如何去做,因为我也需要改变框架的大小。 如何在不发生这种情况下调整UITextView大小? 我想我可以通过设置文本视图不滚动,并解决了这个问题,但我想了解是怎么回事。

UITextView,在编辑时滚动?

我有一个大UITextView ,几乎全屏。 如果我点击它,键盘popup,我可以编辑文本。 但是,我input的时间越长,最终文本就会沿着键盘后面的视图运行。 我不能再看到我在input什么。 你怎么处理这个? 你是否需要跟踪光标位置并手动滚动视图?

文本在UITextView框边界之外滚动

我有一个UITextView中有一些文字。 问题是文本在UITextView框的边界之外滚动。 (UITextView是不可编辑的。) 这里的代码和我试图解决这个问题: – (void)viewDidLoad { textBG.contentInset = UIEdgeInsetsZero; // textBG.layer.masksToBounds = NO; textBG.layer.cornerRadius = 10.0; textBG.layer.borderWidth = 0.0; [textBG setClipsToBounds:YES]; [super viewDidLoad]; } – (void)textViewDidBeginEditing:(UITextView*)textView { textBG.contentInset = UIEdgeInsetsZero; [textBG setClipsToBounds:YES]; } – (void) shouldChangeTextInRange:(UITextView*)textView { textBG.contentInset = UIEdgeInsetsZero; [textBG setClipsToBounds:YES]; } 谢谢你的帮助

如何使用UITableViewAutomaticDimension更新单元格的高度?

我在tableViewCell中有一个UITextView ,并使用了这里列出的iOS 8提供的UITableViewAutomaticDimension方法。 如果用户添加新行到UITextView ,所以textView,单元格高度应该增加,我怎样才能更新高度? 尝试: cell.layoutIfNeeded() cell.setNeedsUpdateConstraints() 这些不起作用。 如果我重新加载细胞,就像 tableView.reloadRowsAtIndexPaths([iindexPath], withRowAnimation: .None) 这工作,但是我需要处理辞职和显示键盘。 我会避免它。 任何解决方法?

省略号在UITextView的末尾

如果我有多行不可滚动的UITextView,其文字长度可以放在可见区域,那么文本就像这样切断: Congress shall make no law respecting an establishment of religion, or 我怎样才能得到文本显示省略号的文本截断,就像这样 Congress shall make no law respecting an establishment of religion, or … 像标签和button等其他控件都具有这种能力。

UITableViewCell中的UITextView sizeToFit不按预期方式工作

我有一个UITextView ,我需要resize,使它有一个宽度,以填补屏幕,但可变高度,以便它只是足够大,以显示所有的文字。 当resize发生时,它应该使UITextView尽可能低的高度,以便它符合。 为了做到这一点,我一直在使用下面的代码: textView.text = textMessage; [textView sizeToFit]; CGRect rect = textView.frame; rect.size.height = textView.contentSize.height; textView.frame = rect; 当我这样做,似乎并没有使UITextView的最低高度可能。 看来下面还有一些剩余空间。 这里是一个例子(我已经设置背景颜色为红色,以说明我的观点): 请有人build议为什么发生这种情况,我怎么能解决这个问题? 请注意,UITextView位于一个自定义的UITableView单元格内。 此单元格使用“自动调整”遮罩水平拉伸以根据方向填充屏幕。 我花了很多时间试图让这个工作,但我不明白为什么在底部有多余的空间,当我旋转设备的UITextViews的高度似乎都保持不变(即使我调用[UITableView reloadData]方法,我也定义了行高方法)。

UITextView scrollEnabled = YES在iOS8中设置scrollEnabled = NO后不工作

我创build一个检查UITextView scrollEnabled的演示。 它只包含1个UITextView和2个button启用和禁用滚动 我testing模拟器和设备的iOS 8,如果我点击禁用滚动button, UITextView将禁用正确的滚动,但之后,我点击启用滚动, UITextView 将不会启用滚动 不过,我在设备iOS9上testing,启用和禁用滚动效果很好。 #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UITextView *myTextView; @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; } – (IBAction)enableScrollButtonPressed:(id)sender{ self.myTextView.scrollEnabled = YES; } – (IBAction)disableScrollButtonPressed:(id)sender{ self.myTextView.scrollEnabled = NO; } @end 任何想法解决这个问题? 如果有人不明白我的解释,请检查我的演示项目 任何帮助或build议将不胜感激

如何截断UITextView的内容,以适应缩小的大小?

我很难解决这个问题。 正如标题所示,我在iPhone应用程序的视图上有几个UITextViews。 我以编程方式创build它们,并成功地填充文本,但在某些情况下,我放在视图中的文本占用比我分配的框架更多的空间。 在这种情况下,我想文本被截断,但我不知道如何做到这一点。 我已经预定义了以下常量; #define viewOriginX 20 #define viewOriginY 180 这是我的UITextView创build代码; textViewOne = [[UITextView alloc] initWithFrame:CGRectMake(viewOriginX, viewOriginY + 65, 280, 45]; textViewOne.delegate = self; textViewOne.scrollEnabled = NO; textViewOne.contentInset = UIEdgeInsetsZero; textViewOne.font = viewFont; textViewOne.textColor = [UIColor blackColor]; textViewOne.textAlignment = UITextAlignmentLeft; [self.view addSubview:textViewOne]; 在某些情况下,我在这里有15到20行文本,我想截断它到2行。 任何人都可以帮助我正确的方向吗? 提前致谢! :d

在UITextView中获取HTML

我在UITextView显示html: [self.textView setValue:@"<b>Content</b>" forKey:@"contentToHTMLString"]; , 在UITextView编辑内容后,我想获得包含html的内容,所以我使用: [self.textView valueForKey:@"contentToHTMLString"]; 但应用程序崩溃,如何解决它?

UITextView的contentSize更改和iOS7中的NSLayoutManager

问题:在某些情况下, UITextView默默地改变它的contentSize 。 最简单的情况下textView与大文本和键盘。 只需添加UITextViewsockets,并设置- viewDidLoad为: – (void)viewDidLoad { [super viewDidLoad]; // expand default "Lorem…" _textView.text = [NSString stringWithFormat:@"1%@\n\n2%@\n\n3%@\n\n4%@\n\n5", _textView.text, _textView.text, _textView.text, _textView.text]; _textView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive; _textView.contentInset = UIEdgeInsetsMake(0, 0, 216, 0); } 现在显示和隐藏键盘会在某些情况下导致文本跳转。 我发现了通过子类UITextView跳转的原因。 我的子类中唯一的方法是: – (void)setContentSize:(CGSize)contentSize { NSLog(@"CS: %@", NSStringFromCGSize(contentSize)); [super setContentSize:contentSize]; } 它显示contentSize缩小和扩展键盘隐藏。 像这样的东西: 013-09-16 14:40:27.305 textView-bug2[11087:a0b] CS: {320, 651} 2013-09-16 14:40:27.313 […]