小编Sim*_*ing的帖子

高度达到8192.0后,UITextView文本变为不可见

我有一个不可滚动的UITextView嵌入式UIScrollViewUITextView动态添加文本.在UIScrollView它的contentSize因此基于的TextView的框架上进行调整.但是,一旦UITextView超过8192的高度,文本将变为不可见(但仍然存在,因为您可以使用放大镜突出显示文本,甚至可以通过放大镜查看部分文本).

  CGRect textviewFrame = self.TextView.frame;
  textviewFrame.size.height = [self textViewHeightForAttributedText:self.TextView.attributedText andWidth:320.0];
  self.TextView.frame = textviewFrame;
  self.ScrollView.contentSize = self.TextView.frame.size;
Run Code Online (Sandbox Code Playgroud)

辅助功能相应地调整大小UITextView:

- (CGFloat)textViewHeightForAttributedText:(NSAttributedString *)text andWidth:(CGFloat)width
{
  UITextView *textView = [[UITextView alloc] init];
  [textView setAttributedText:text];
  CGSize size = [textView sizeThatFits:CGSizeMake(width, FLT_MAX)];
  return size.height;
}
Run Code Online (Sandbox Code Playgroud)

不知道这是这是未解完全相同的问题,在这里,直到我测试了它明确的强制最大尺寸8193和出现问题(而8192最大尺寸仍然显示正确的文本).有人在遇到这个问题并且知道一个解决方法吗?谢谢

uiscrollview uitextview ios

11
推荐指数
1
解决办法
1202
查看次数

滚动后动态 TableView 单元格高度不正确(iOS 8) - 附上完整截图

编辑

从头开始构建一个新的示例项目,动态 tableview 单元格高度完美无缺。然后我尝试通过将我的项目缩减到最低限度来进行复制,但它仍然损坏(前几个单元格有问题)。为工作和不工作的例子附加完整的项目。项目/代码字面上看起来 99% 相同,而且我无法弄清楚 1% 的差异在哪里。唯一突然出现在我身上的是我使用了不同的尺寸类(wAny hAny vs wCompact hRegular 但我无法想象这会做任何事情,因为我只是在纵向测试

工作项目: 在此处输入图片说明

不工作的项目: 在此处输入图片说明

WORKING (new project from scratch):
https://drive.google.com/file/d/0B_EIkjmOj3ImWXZjVFZMYXZmVGc/view?usp=sharing

NOT WORKING (my project, cleaned up to it's bare minimum)
https://drive.google.com/file/d/0B_EIkjmOj3ImMGRNOXU2RlNkWEk/view?usp=sharing
Run Code Online (Sandbox Code Playgroud)

在网上搜索试图了解发生了什么,但由于某种原因,我的单元格高度不正确,直到我滚动过原型单元格。

初始加载时: 在此处输入图片说明

滚动经过每个单元格后: 在此处输入图片说明

背景颜色: cell.postTextLabel.backgroundColor = [UIColor orangeColor]; subView.backgroundColor = [UIColor blueColor]; contentView.backgroundColor = [UIColor brownColor];

这里没有做任何太花哨的事情:只是一个原型单元格、一个子视图和三个标签(用户名、时间戳、文本)。

下面的屏幕截图突出显示了我在 Storyboard 中的约束:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

我从 Parse 中提取数据,并在设置 tableView 布局时重新加载我的数据

[self.tableView setNeedsLayout]; [self.tableView layoutIfNeeded]; [self.tableView reloadData];

最后是我的cellForRowAtIndexPath方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return [self postCellAtIndexPath:indexPath];
}


- (UITableViewCell *)postCellAtIndexPath:(NSIndexPath …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios uistoryboard autolayout

5
推荐指数
1
解决办法
4311
查看次数

为 collectionview 链接 performBatchUpdates

链接performBatchUpdate调用的正确方法是什么UICollectionView,以便在下一个更新开始之前完成一次更新,以防止同时触发多次,从而导致 IndexPaths 不同步(由于删除与插入混合)

ios uicollectionview swift

5
推荐指数
1
解决办法
2193
查看次数