получить атрибут coredata и поместить его в коллекцию viewview imageview - PullRequest
0 голосов
/ 17 июня 2019

В любом месте написано, что данные, которые я хочу заменить, на Core Data Entity Jessica с именем атрибута (чертеж).Я хочу получить двоичные данные и получить представление изображения (bg), находящееся в представлении коллекции, для отображения двоичных данных.Я просто хочу, чтобы изображение отображало атрибут (рисунок).Пользователь сохраняет двоичные данные в другом классе.

          class rViewController: UIViewController {


fileprivate let collectionView:UICollectionView = {
    let layout = UICollectionViewFlowLayout()
    layout.scrollDirection = .horizontal
    let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
    cv.translatesAutoresizingMaskIntoConstraints = false
    cv.register(CustomCell.self, forCellWithReuseIdentifier: "cell")
    return cv
}()

override func viewDidLoad() {
    super.viewDidLoad()

    view.addSubview(collectionView)
    collectionView.backgroundColor = .white
    collectionView.delegate = self
    collectionView.dataSource = self
    collectionView.topAnchor.constraint(equalTo: view.topAnchor, constant: 40).isActive = true
    collectionView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 40).isActive = true
    collectionView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -40).isActive = true
    collectionView.heightAnchor.constraint(equalToConstant: view.frame.width/2).isActive = true
}

}

extension rViewController: UICollectionViewDelegateFlowLayout, UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    return CGSize(width: collectionView.frame.width/2.5, height: collectionView.frame.width/2)
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return data.count
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CustomCell
    cell.data = self.data[indexPath.item]
    return cell
}
}


class CustomCell: UICollectionViewCell {

var data: CustomData? {
    didSet {
        guard let data = data else { return }
        bg.image = data.backgroundImage

    }
}

fileprivate let bg: UIImageView = {
    let iv = UIImageView()
    iv.translatesAutoresizingMaskIntoConstraints = false
    iv.contentMode = .scaleAspectFill
    iv.clipsToBounds = true
    iv.layer.cornerRadius = 12
    return iv
}()

override init(frame: CGRect) {
    super.init(frame: .zero)


    contentView.addSubview(bg)

    bg.topAnchor.constraint(equalTo: contentView.topAnchor).isActive = true
    bg.leftAnchor.constraint(equalTo: contentView.leftAnchor).isActive = true
    bg.rightAnchor.constraint(equalTo: contentView.rightAnchor).isActive = true
    bg.bottomAnchor.constraint(equalTo: contentView.bottomAnchor).isActive = true

}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...