J'ai une fonction qui trouve le nombre d'étoiles à ajouter et à ajouter à la pileview. La pileview est à l'intérieur d'une cellule de tableau et affiche donc la note correcte, qui est récupérée à partir de CoreData. Cependant, la note ne s'affiche pas.Comment ajouter des images à une cellule de vue de table via stackview
la fonction ...
func setRating(entry: Entry, ratingView: UIStackView) -> UIStackView{
for _ in 0..<Int(entry.rating) {
let image = UIImage(named:"ratingFilled")
let imageView = UIImageView(image: image!)
imageView.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
NSLayoutConstraint(item: image!, attribute: .height, relatedBy: .equal, toItem: image!, attribute:.width, multiplier: 1.0, constant:0.0).isActive = true
ratingView.addArrangedSubview(imageView)
}
return ratingView
}
appel cellulaire Tableview ...
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{ //creates rzeusable cell and assigns cell items
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
let entry = entries[indexPath.row]
cell.nameLabel?.text = entry.restaurantName
cell.ratingView = setRating(entry: entry, ratingView: cell.ratingView)
return cell
}
stackview est dans le sens horizontal et je pensais que je l'ai déjà mis cadre imageView à 20 par 20. Après avoir ajouté votre contrainte son ne fonctionne toujours pas vous –
aussi besoin d'ajouter une contrainte de hauteur, vérifiez l'édition –
en ajoutant une contrainte avec le même 2 éléments ne doit pas être, vous devez ajouter une contrainte avec constante comme indiqué ci-dessus. laissez-moi savoir si cela le fait pour vous. –