私はUITableViewを持っていて、セルはリモートサービスへのポストコールによって生成されます。 私はUILabelのlineBreakModeプロパティをNSLineBreakByTruncatingTail
に設定し、2行目を設定しました。セルxibでは、すべてが正しいと思われます。ここではスクリーンショットです:UILabelは省略記号を生成する必要がありますが動作しません。
これは私がした後、リモートサービスから取得したJSON解析されたテキストを移入するために使用するコードです。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (posts.count == 0){
return tableView.dequeueReusableCell(withIdentifier:
TableViewCellIdentifiers.emptyCell, for: indexPath)
} else {
let cell = tableView.dequeueReusableCell(withIdentifier:
TableViewCellIdentifiers.postCell, for: indexPath) as! PostCell
let post = posts[indexPath.row]
cell.userNameLabel.text = post.userName
cell.postTextLabel.text = post.text
cell.timeLabel.text = post.time
cell.distanceLabel.text = post.distance
return cell
}
}
が、ここでそれは結果であり、それは省略記号を生成しませんが、すべてのものが
に問題があることができ、任意のアイデアを覆っていますか?
ラベルに一定の幅(時間ラベルまたは距離ラベルの前の8ポイントなど)を超えることができないという制約を忘れていますか?また、Yの位置や高さについて黄色の警告を確認し、結果を確認することもできます(修正してください)。 – Larme
xibのオレンジ色の線は、何か問題があることを意味します。おそらくフレームだけを設定し、制約は設定しません。 – Sulthan