【发布时间】:2018-07-11 13:23:35
【问题描述】:
我试图通过只构建一个 xib 来重用而不是构建三个视图来放入 stackView 来让我的生活更轻松
我已经创建了我的自定义 xib 文件并将其连接到自己的自定义类:
标签和图像由约束放置。我希望标签能够自动调整大小,最多三行,所以标签的高度限制是 >=,以及内容视图也可以缩放高度 (>=)
UserReview 代码:
class UserReview: UIView {
@IBOutlet weak var userImage: UIImageView!
@IBOutlet weak var username: UILabel!
@IBOutlet weak var userRating: UILabel!
@IBOutlet weak var reviewText: UILabel!
@IBOutlet weak var prosText: UILabel!
@IBOutlet weak var consText: UILabel!
class func instanceFromNib() -> UIView {
return UINib(nibName: "UserReview", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! UIView
}
func setUp(review: Review){
// TODO set userImage
username.text = review.username!
// TODO add rating + color
reviewText.text = review.content!
if let pros = review.positive_points {
prosText.text = pros
} else {
prosText.text = "No Positive Points"
}
if let cons = review.negative_points {
consText.text = cons
} else {
consText.text = "No Negative Points"
}
}
}
我尝试向其中添加子视图的 StackView 也具有 >= 200 的高度限制(最少一张卡),但似乎没有随着添加更多卡而调整大小。对齐是填充和分布:等间距
我尝试过使用包含评论的 StackView 的约束和对齐属性,但我能达到的最接近的是重叠视图。..
我创建视图并将视图添加到堆栈视图的方式:
let review1 = UserReview.instanceFromNib() as! UserReview
let review2 = UserReview.instanceFromNib() as! UserReview
let review3 = UserReview.instanceFromNib() as! UserReview
self.reviewStack.addArrangedSubview(review1)
self.reviewStack.addArrangedSubview(review2)
self.reviewStack.addArrangedSubview(review3)
据我所知,stack question StackView 的视图高度有问题吗? 我已经尝试了大多数建议的解决方案,但遇到了不同的问题..
我想要得到的结果:
(图片因某种原因消失了,稍后会检查。)
【问题讨论】:
-
你成功了吗?