我想實作下圖的效果。我想在我的單元格中添加影像(由我用紅線框起來),如何實作?
我嘗試使用 equalToSuperView().inset(10) 做一些布局,但我不知道如何設定單元格和影像之間的關系。:

1.我創建了一個遵循協議“UITableViewCell”的“WechatMomentListCell”
class WechatMomentListCell: UITableViewCell{
var content = UILabel()
var senderAvatar = UIImageView()
var senderNick = UILabel()
var Images = [UIImageView()]
var comments = [UILabel()]
}
2.我嘗試像這樣在我的ViewController中實作func tableView(),這是布局頭像的部分。
tweetCell.senderAvatar.sd_setImage(with: URL(string: tweet?.sender?.avatar ?? ""), placeholderImage: UIImage(named: "placeholder.png"))
//tweetCell.senderAvatar.frame = CGRect(x:0, y:0, width: 40, height: 40)
tweetCell.senderAvatar.snp.makeConstraints{(make) in
make.leading.equalToSuperview().offset(50)
make.bottom.equalToSuperview().offset(20)
make.width.equalTo(40)
make.height.equalTo(40)
}
3.這是覆寫tableView的完整代碼:
let tweet = viewModel.tweetList?[indexPath.row]
for i in tweet?.images ?? [] {
let flagImage = UIImageView()
flagImage.sd_setImage(with: URL(string: i.url))
tweetCell.Images.append(flagImage)
}
for i in tweet?.comments ?? [] {
let flagComment = UILabel()
flagComment.text = "\(i.sender) : \(i.content)"
tweetCell.comments.append(flagComment)
}
tweetCell.senderNick.text = tweet?.sender?.nick
tweetCell.senderAvatar.sd_setImage(with: URL(string: tweet?.sender?.avatar ?? ""), placeholderImage: UIImage(named: "placeholder.png"))
//this part use for layouting avatar
tweetCell.senderAvatar.frame = CGRect(x:0, y:0, width: 40, height: 40)
tweetCell.senderAvatar.snp.makeConstraints{(make) in
make.leading.equalToSuperview().offset(50)
make.bottom.equalToSuperview().offset(20)
make.width.equalTo(40)
make.height.equalTo(40)
}
}
return tweetCell
在我自己的演示中,tablelistcell 顯示為空白:

感謝您的幫助!
uj5u.com熱心網友回復:
所有代碼都在 1. 你的單元格的整個代碼中嗎?如果單元格為空,我會首先檢查您是否已將單元格正確注冊到 tableView,以及cellForRow委托函式是否實際回傳了正確的單元格。
假設 1. 中的內容是您的單元格的完整代碼: 您的單元格應該處理更多它自己的設定。它應該自己布局,自己下載影像并設定它的約束(以編程方式,正如您在問題中提到的那樣)。使用您提供的代碼段更正您的代碼是不可能的。這對你來說可能是一個很好的教程。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/382343.html
上一篇:element.getBoundingClientRect不是函式
下一篇:執行緒1:斷點1.1(1)
