Ios 向UITableViewCell添加边距
我试图获得一个我在草图上模拟出来的视图。我在Android上复制了它,因为我在那个平台上做得很好。我对iOS很在行,但UI是我的弱点 我扩展了一个Ios 向UITableViewCell添加边距,ios,swift,uitableview,Ios,Swift,Uitableview,我试图获得一个我在草图上模拟出来的视图。我在Android上复制了它,因为我在那个平台上做得很好。我对iOS很在行,但UI是我的弱点 我扩展了一个UIViewController,在我的故事板上,顶部是视图,底部是表视图。我遇到的问题是将UITableViewCell置于应用程序本身的中心位置。下面是我尝试过的解决方案。但是,它只是把一切都挤到了顶端。注意。我使用UIView在UITableViewCell func configureTableView() { //First One
UIViewController
,在我的故事板上,顶部是视图,底部是表视图。我遇到的问题是将UITableViewCell
置于应用程序本身的中心位置。下面是我尝试过的解决方案。但是,它只是把一切都挤到了顶端。注意。我使用UIView
在UITableViewCell
func configureTableView() {
//First One I tried then later commented it out
loanStateTable.rowHeight = UITableViewAutomaticDimension
loanStateTable.scrollToNearestSelectedRowAtScrollPosition(UITableViewScrollPosition.Middle, animated: true)
//Second One I tried
var edgeInset = UIEdgeInsets(top: 16, left: 16, bottom: 0, right: 16)
loanStateTable.contentInset = edgeInset
}
故事板视图
任何帮助都将不胜感激。谢谢
输出:
从您的屏幕截图来看,您的自动布局系统和动态单元格似乎有问题。因此,建议阅读这篇非常好的关于堆栈溢出的文章,它解释了如何使用自动布局构建动态单元。需要考虑的一个重要问题是,用自动布局创建视图非常快速直观,但从性能的角度来看,它非常昂贵。对于
UITableView
而言,此问题更为突出,滚动可能会导致不平稳。如果您有简单单元(只有少数视图和具有少数级别的视图层次),则可以,但对于自动布局管理器,我建议:
- 如果所有单元格的高度相同,请为属性
指定一个值estimatedRowHeight
- 如果单元格具有不同的高度,则执行
的UITableViewDelegate
tableView方法(uu2;:estimatedheightforrowatinexpath:)
关于边距问题,我建议将
UIView
嵌套在单元格的contentView
中,并将其用作单元格所有其他视图的容器。通过这种方式,您可以在此视图容器和contentView
之间添加左右边距,以便将其居中。我不知道是否理解您的问题。我以为你们的问题是将屏幕上的两行垂直居中。我的代码就是这样做的
方法:
我通常会在游戏开始和/或结束时添加额外的单元格
UITableView
我希望这有帮助 一切保持原样。不要尝试插入整个TableView。改为在TableViewCell内创建容器视图: 设置行高: 同样在代码中:
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 160.0
}
指定到边的正确距离:
现在添加元素并指定约束:
不要忘记设置cellIdentifier:
模拟器中的结果:
如果您想在引擎盖下查看它:您可以添加一个屏幕截图,显示您获得的输出。在运行cmd+s的模拟器上,它会将屏幕截图保存到桌面。你想让这两个单元格垂直居中吗?我已经添加了输出。是的,我想让它们居中vertically@hasan83我已经更新了这个问题。我想我的限制让它变得糟糕和移位你在系统板上创建了这个单元吗?显示出来。另外,解释一下你有哪些部分和单元格我试过了你的答案,它也成功了…谢谢
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 160.0
}