LoginSignup
2
1

More than 5 years have passed since last update.

【Swift4】おんなじようなデザインの時に簡単にViewを使い回す方法

Last updated at Posted at 2018-07-25

こんな共通クラスを用意して

struct Data {
   var title: String
   var subTitle: String
   var image: UIImage
   var textColor: UIColor
}

class BaseView: UIView {

    @IBOutlet private weak var thumbnailImageView: UIImageView?
    @IBOutlet private weak var titleLabel: UILabel?
    @IBOutlet private weak var subTitleLabel: UILabel?

    func set(_ data: Data) {
        self.titleLabel?.text = data.title
        self.titleLabel?.textColor = data.textColor
        self.subTitleLabel?.text = data.subTitle
        self.subTitleLabel?.text = data.textColor
        self.thumbnailImageView?.image = data.image
    }
}

あとは、BaseViewを継承して、BaseViewのIBOutletにxibとかから参照?をくっつけてやればOK
参照をくっつけたIBOutletのみnilじゃなくなるので値が設定される。xibファイルは個々のSampleViewで用意する


final class SampleView: BaseView {

    func set(_ data: Data) {
        super.set(data)
    }
}

final class Sample2View: BaseView {

    func set(_ data: Data) {
        super.set(data)
    }
}

ありなんかな

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1