繁体   English   中英

iOS:带有自定义单元格的Tableview不会滚动

[英]iOS: Tableview with custom cells does not scroll

我正在使用导航栏精心组合的tableviewcontrollers集合来显示数据层次结构。 数据的最底层显示在自定义tableviewcell中,其内容在xib中进行了描述,并导致所需的单元格高度大于默认值。 我发布了另一个有关如何以编程方式提取结果像元高度的问题,但没有可用的答案,因此我现在实现heightForRowAtIndexpath以返回硬编码值,即xib属性面板中的高度。 但是,当表格显示的行数超出了正常显示尺寸(480h,320w)所能容纳的范围时,最下面的行会被切掉,但是我无法滚动查看其余的行。 我已经进行了广泛的搜索,但是没有任何帮助。 我戳了各种属性(表格视图大小,scrollingEnabled等),但它们似乎都是预期值(例如,scrollingEnabled为true)。 一篇文章建议除非contentSize大于框架,否则不会发生滚动,因此我查看了这些值,这听起来很有希望,因为我的框架大小通常为460h x 320w,但是我的contentSize为0 x 0! 进一步搜索(例如,“设置contentSize”或“ contentSize为0”)没有清除任何内容。 我认为contentSize是从表行计数及其高度免费计算的,那么我怎么能得到0? 即使不通过实现heightForRowAtIndexpath而允许默认行高,其contentSize仍为0。 一些搜索建议关闭自定义表格单元格的autoLayout,但仍保持相同。 那么,可能出什么问题了? 感谢您的任何想法或指导。

更新:对不起,我承认! 我最初是使用普通的USB鼠标在Mac mini上进行开发的,其中在模拟器中的滚动是向左按钮的向下拖动。 我最近使用魔术鼠标切换到了iMac。 现在,我习惯于在鼠标上拖动手指来滚动代码,网页等,以至于我不希望尝试单击并按住鼠标左键“按钮”,然后再拖动鼠标。 当我这样做时,一切都按预期进行。 当mini上的应用程序中的任何类似变量/值等于iMac上的变量/值时,我真的以为事情是没有希望的,但这只是我被花哨的技术所欺骗。 对不起,分心。

设置tableView的框架和单元格的框架正确,并实施
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
在您的UITableView中给出正确的高度。

如果这样不起作用,请尝试将tableView.autoresizingMask设置为UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ;

这可以帮助您调整tableview的大小

我有一个类似的问题。 当内容超出tableViews框架时,我的tableView将不会滚动。

对我来说,问题是我检查了“ Use Autolayout”,但在tableView上没有任何约束。 在tableView上添加垂直和水平空间约束解决了我的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM