我有一个表格视图应用程序(见图)。某些单元格右侧的横幅是一个布尔值,由用户在Add控制器中决定(由加号提示)。在我的代码中,此横幅被称为紧急图像。顶部标签称为主题标签,底部标签称为截止日期标签。

我遇到的问题是主题标签上的自动布局。在一些标签上,底部被切断了,但在另一些标签上却没有。似乎当有超过一条线时,就会发生断线。自动布局约束如下所示。

下面是我的viewDidLoad:,我在其中添加了自调整大小的单元格代码:
override func viewDidLoad() {
super.viewDidLoad()
let fetchRequest = NSFetchRequest(entityName: "Agenda")
let sortDescriptor = NSSortDescriptor(key: "subject", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
if let managedObjectContext = (UIApplication.sharedApplication().delegate as? AppDelegate)?.managedObjectContext {
fetchResultController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: managedObjectContext, sectionNameKeyPath: nil, cacheName: nil)
fetchResultController.delegate = self
do {
try fetchResultController.performFetch()
content = fetchResultController.fetchedObjects as! [Agenda]
} catch {
print(error)
}
}
tableView.estimatedRowHeight = 90.0
tableView.rowHeight = UITableViewAutomaticDimension
}发布于 2016-03-24 18:12:49
看起来你的单元格不够大,不能垂直裁剪你的顶部标签。
EDIT :作者实际上是在处理自定大小的单元格,因此此答案的第一部分不是有效的解决方案。
您可以做的是:
编辑:您的单元格是自定大小的,如果您更改了紧急图像查看约束/大小,则可能是因为标签没有很好地更新其布局。如果是这种情况,您可以尝试更改此UILabel子类的标签自定义类:
对象-C :
@implementation AutoLayoutLabel
- (void)layoutSubviews {
[self setNeedsUpdateConstraints];
[super layoutSubviews];
self.preferredMaxLayoutWidth = CGRectGetWidth(self.bounds);
}
@end在Swift中,它类似于:
import UIKit
class AutoLayoutLabel: UILabel {
override func layoutSubviews() {
self.setNeedsUpdateConstraints()
super.layoutSubviews()
self.preferredMaxLayoutWidth = CGRectGetWidth(self.bounds)
}
}由于您不能发送您的项目,并且我们无法真正看到您的约束,也看不到您的代码设置,因此我为您上传了一个具有相同单元设计的工作测试项目:On the go multiline cell Xcode project
将此Xcode项目中的内容复制到您的项目中。
https://stackoverflow.com/questions/36197422
复制相似问题