我的想法已经不多了,希望社区中有人能给我一些指示。我目前正在使用UIBubbleTableView
(http://alexbarinov.github.io/UIBubbleTableView/)将应用内聊天集成到我的项目中。当我使用iOS非64位模拟器时,一切正常/渲染。一旦我使用iOS 64位模拟器,UIBubbleTable就不会渲染。这就是我所知道的:
1。 datasource
不是问题。数据加载正常。 numberOfRowsInSection
,numberOfSectionsInTableView
,cellForRowAtIndexPath
都会返回预期的非空结果。
2。示例UIBubbleTableView
项目看起来与64位模拟器一样正常。
3. 我在自己的项目中创建了一个测试ViewController,并将ViewController.m / h / xib直接从示例项目复制并粘贴到我的项目中,并且没有显示bubbletable。
我现在想知道它是否是64位缓存或配置问题。任何指针都将非常感激。
答案 0 :(得分:5)
替换
(float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
的
(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
UIBubbleTableView.m
中的
答案 1 :(得分:1)
我通过更改项目“Build Settings”使其工作,并在“Architectures”下更改它以匹配UIBubbleTableView使用的“$(ARCHS_STANDARD_32_BIT)”。但我确实想知道为什么如果设置为64位,则单元格不会渲染。希望听到有人能够解决这个问题。
答案 2 :(得分:0)
原因将是使用错误的变量类型。特别是在UITableView相关的函数中不使用float或int,使用CGFloat和NSInteger,因为这些是64位架构的两倍,所以看起来会造成一些问题!
答案 3 :(得分:0)
在这里查看讨论:https://github.com/AlexBarinov/UIBubbleTableView/issues/69对于那些新手,rafaelcrm的回答是正确的。