одна и та же Ячейка имеет разные размеры в разных tableView. как исправить?
Имеет переиспользуемая ячейка таблицы с фото и именем. В одном табличном представлении эта ячейка отображатеся корректно. При переходе на другую таблицу эта же ячейка выглядит шире чем на предыдущей таблице. Соответственно закругления и тени для ячейки выглядят не так как на первой таблице изза того что размер изображения стал больше. Я облазил весь сториборд, и путем сравнения каждого эелемента двух разных viewControllerов искал какие то отличия в размерах там, ничего не нашел.
код ячейки
import UIKit
class FriendsTableViewCell: UITableViewCell {
@IBOutlet var friendsCellImage: UIImageView?
@IBOutlet var backView: UIView!
@IBOutlet var friendsCellName: UILabel?
func setup() {
friendsCellImage?.layer.cornerRadius = 30
friendsCellImage?.contentMode = .scaleAspectFill
friendsCellImage?.layer.masksToBounds = true
backView.layer.cornerRadius = 35
backView.layer.shadowColor = UIColor.black.cgColor
backView.layer.shadowOffset = CGSize(width: 5, height: 5)
backView.layer.shadowRadius = 5
backView.layer.shadowOpacity = 0.5
}
override func awakeFromNib() {
super.awakeFromNib()
setup()
}
код первого контроллера где изображение имеет нужный формат.
import UIKit
class FriendsViewController: UIViewController {
@IBOutlet var friendsTableView: UITableView!
//MARK: - Properties
// indentifier
private let cellID = "FriendsTableViewCell"
//Friends Array
var friends = [User(userName: "Moni", userImage: UIImage(named: "2_1")),
User(userName: "Alex", userImage: UIImage(named: "1_2")),
User(userName: "Mama", userImage: UIImage(named: "1_3")),
User(userName: "Oma", userImage: UIImage(named: "4"))]
@IBAction func goBackFromAnotherScreen(with segue: UIStoryboardSegue) {
guard let anotherVC = segue.source as? AnotherFriendsViewController, let indexPath = anotherVC.tableView.indexPathForSelectedRow else { return }
let newUser = anotherVC.friends[indexPath.row]
guard !friends.contains(where: { User ->Bool in
User.userName == newUser.userName
}) else { return }
friends.append(newUser)
friendsTableView.reloadData()
}
}
extension FriendsViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return friends.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) ->
UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: cellID, for:
indexPath) as? FriendsTableViewCell else {
fatalError("{ Message: Error in dequeue FriendsTableViewCell }")
}
cell.friendsCellName?.text = friends[indexPath.row].userName
cell.friendsCellImage?.image = friends[indexPath.row].userImage
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) ->
CGFloat {
return 80
}
а вот код второго контроллера где изображение растягивается в ширь, не на много, но закругления картинки уже невозможно.
import UIKit
class AnotherFriendsViewController: UIViewController {
//MARK: - OUTLETS
@IBOutlet var tableView: UITableView!
//MARK: - PROPERTIES
let reuseId = "AnotherFriends"
var friends = [User(userName: "Jack", userImage: UIImage(named: "2_1")),
User(userName: "Bob", userImage: UIImage(named: "1_2")),
User(userName: "Adam", userImage: UIImage(named: "1_3")),
User(userName: "Kate", userImage: UIImage(named: "3")),
User(userName: "Ahmed", userImage: UIImage(named: "4"))]
}
extension AnotherFriendsViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return friends.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) ->
UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: reuseId, for:
indexPath) as? FriendsTableViewCell else {
fatalError("{ Message: Error in dequeue FriendsTableViewCell }")
}
cell.friendsCellName?.text = friends[indexPath.row].userName
cell.friendsCellImage?.image = friends[indexPath.row].userImage
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) ->
CGFloat {
return 80
}
как сделать так чтобы ячейка выглядела во всех такблицах одинаково?