Luc*_*sen 3 cocoa-touch objective-c uitableview uikit ios
我问这个问题已经知道答案是"不,你不能",但希望有人在这里有一个好主意.
我有一个UITableViewCell的子类,它有一些不同的子视图,其中一个巫术是我用户可编辑的UITextField.因此,textField自然会随输入的文本一起增长.
现在的问题是如何通过textField使tableview行增长.
我有各种不同大小的单元格,所以我知道如何使用,- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath但问题是我需要修改单元格已经在tableview中.
另请注意,先前提到的委托方法在数据源委托方法之前被调用 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
我想到只是拉出另一个视图供用户编辑然后将数据放入我的数据模型然后我将不得不强制tableview重新加载.(我可以重新加载某个单元格/行)
有趣的是,我认为苹果正在他们的iTunes U应用程序中做我想做的事情.当您点按作业时,它会展开.我认为他们正在使用tableviews吗?
我知道我有很多问题并在这里讨论,但我相信这一切都是相关的,只是为了展示我所研究的内容.我只是在寻找你们其中一个人有天才的可能性.
希望这也可以帮助其他人,因为这似乎是一个热门话题,但没有人问好问题或得到好的答案.
实际上,这已被多次提出并回答 - 这并非不可能.搜索"UITableView自定义行高"或"UITableView多行UITextField"或类似内容,您将找到几个回答良好的问题.
您处于正确的轨道 - 您需要返回高度tableView:heightForRowAtIndexPath:,即使在创建/配置单元格之前调用了该方法.这没关系......你只需要一种方法来计算那个高度,而不需要细胞.其他答案参考-[NSString sizeWithFont:constrainedToSize:]和相关方法......这应该让你走在正确的轨道上.
在文本字段编辑时更改高度不太明显,但这个答案有关键...如果你打电话
[tableView beginUpdates];
[tableView endUpdates];
Run Code Online (Sandbox Code Playgroud)
表视图不仅会heightForRowAtIndexPath:再次询问其代理并调整单元格以匹配,它将以平滑的动画进行.
| 归档时间: |
|
| 查看次数: |
3011 次 |
| 最近记录: |