2017-10-31 19 views
1

私はユーレカでカスタム行を作成しようとしていますが、私を導き、それをどうやって行うのかを理解できる良いガイド(私のような初心者のための)を見つけることができないようです。ユーレカのカスタム行

基本的に、XIBを使用して下の行を作成したいとします。 2つのラベルと画像が含まれています。誰でも私にそれを正しく行う方法を理解させることができますか?

あるいは、少なくとも、私のような初心者はこれを実装する方法を理解することができる場所に私を指す:https://pasteboard.co/GRsVN8x.png

ありがとうございました。

+0

私が試しましたこれは(私がやりたいことに非常に似ています):[リンク](https://blog.xmartlabs.com/2016/09/06/Eureka-custom-row-tutorial/)ですが、運がありません。コードを更新する必要があると思います。サンプルのレポを試しても、コンパイラのエラーが多く発生するため、修正する方法が見つからないようです。 –

答えて

0

私は、コミュニティからのこの時間は、あまりにも多くの助けを得ることはありませんでしたが、私はそれを自分自身をソートするために管理し、私は私のような他の初心者のために、ここで答えを投稿するつもりです。..

final class CartProductRow: Row<CartProductCell>, RowType { 
    required init(tag: String?) { 
     super.init(tag: tag) 
     cellProvider = CellProvider<CartProductCell>(nibName: "CartProductCell") 
    } 
} 

class CartProductCell: Cell<CartProduct>, CellType { 

    @IBOutlet weak var productImage: UIImageView! 
    @IBOutlet weak var productName: UILabel! 

    required init(style: UITableViewCellStyle, reuseIdentifier: String?) { 
     super.init(style: style, reuseIdentifier: reuseIdentifier) 
    } 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
    } 

    override func setup() { 
     super.setup() 
     selectionStyle = .none 

     productImage.contentMode = .scaleAspectFill 
     productImage.clipsToBounds = true 

     productName.font = .systemFont(ofSize: 18) 

     for label in [productName] { 
      label?.textColor = .gray 
     } 

     height = { return 97 } 
    } 

    func loadImage(url: String) { 
     let url = URL(string:url) 
     self.productImage.kf.indicatorType = .activity 
     self.productImage.kf.setImage(with: url, options: [.transition(.fade(0.9))]) 
    } 

    override func update() { 
     super.update() 
     textLabel?.text = nil 

     guard let product = row.value else { return } 
     if let url = product.smallImageUrl { 
      loadImage(url: url) 
     } 

     productName.text = product.name 
    } 
} 
関連する問題