好吧,另一个UITableViewCell动态高度问题,但有点扭曲.不幸的是,我只有在发布时才能跳转到iOS 8,否则问题就会解决.需要iOS> = 7.1.
我正在尝试在单元格的顶部创建一个包含两个图像的单元格,在它们下方有一个标题标签,下面是一个描述标签.我知道两个顶部图像将是正方形,因此我希望它们具有相同的尺寸并保持方形纵横比,但在屏幕尺寸变化时调整大小(如方向更改或不同设备).
可能有助于可视化的图像(由于代表无法包含颜色,可视化帮助):http: //i.stack.imgur.com/kOhkl.png
注意最后一个文本之后的差距,那不应该在那里.
我根据以下应用程序在以前的应用程序中实现了动态高度: 在UITableView中使用自动布局进行动态单元格布局和可变行高度(成功),并且现在也使用相同的方法.
我已经使用故事板和编程方式设置了约束,但没有成功.
这是踢球者.致电时:
CGFloat height = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;
Run Code Online (Sandbox Code Playgroud)
在:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
高度值大于读取时的高度:
cell.contentView.frame
Run Code Online (Sandbox Code Playgroud)
另一个问题是,如果我删除图像上的宽高比约束并仅将其更改为显式高度约束,则它可以正常工作.
对于任何愿意帮助的人,我都会组建一个非常简单的示例项目来说明问题:https: //github.com/alefr/DynamicTableCellHeight
它设置为使用故事板进行约束,并且有一个额外的分支:ExplicitHeightConstraint,除了将纵横比约束更改为图像的高度约束之外什么都不做.
**所以问题是:**任何人都可以看到使高度计算混淆的约束有任何问题,或者是否有人有任何其他建议来获得想要的结果?(虽然我想为视图使用自动布局).
在工作中有很多限制(虽然没有什么真正的花哨)所以我认为在提供的故事板(github链接)中查找比在这里明确说明它们更容易.但如果有人幻想我也可以这样做.估计的高度计算如下:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// Don't care about memory leaks now:
DynamicTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"dynamicCell"];
[self populateCell:cell withContent:self.tableData[indexPath.row]];
// Make sure the constraints have been set up for this cell, since it may have just been created from scratch.
// Use …Run Code Online (Sandbox Code Playgroud) 我有一个构建为 spring boot fat jar 的应用程序。我根据“官方”文档将它托管在 azure 网站中,web.config 也类似:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="%JAVA_HOME%\bin\java.exe" arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar "%HOME%\site\wwwroot\my-web-project.jar"">
</httpPlatform>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
该应用程序在结构上是整体的,不是太大,但做了一些映射并有一些层要初始化,因此本地启动时间约为 12 秒。它在内存数据库中运行 H2 仅用于测试目的。
实际部署并让它在 azure 网站上运行从来都不是真正的问题,但存在一些真正的性能问题,至少在我的设置中是这样。
一些感兴趣的设置:
为了能够将这些数字与我在具有相似(但不相同)规格和价格范围的 Azure VM 上运行应用程序的内容进行比较,并在该虚拟机上运行应用程序。
以下是部分结果:
部署/启动应用程序并让它在第二天打电话。
在冷呼叫之后直接呼叫,但到另一个端点。