Skip to content

Instantly share code, notes, and snippets.

@iamchiwon
Created May 18, 2018 15:22
Show Gist options
  • Save iamchiwon/76b5d7e8c5a19f7ddb0cbf02d7449a34 to your computer and use it in GitHub Desktop.
Save iamchiwon/76b5d7e8c5a19f7ddb0cbf02d7449a34 to your computer and use it in GitHub Desktop.
creating view programatically
@discardableResult
func createView<T>(_ view: T,
parent: UIView?,
setting: ((T) -> ())? = nil,
constraint: ((ConstraintMaker) -> ())? = nil) -> T where T: UIView {
switch parent {
case let stack as UIStackView:
stack.addArrangedSubview(view)
case let collectionCell as UICollectionViewCell:
collectionCell.contentView.addSubview(view)
case let tableCell as UITableViewCell:
tableCell.contentView.addSubview(view)
default:
parent?.addSubview(view)
}
if let setting = setting {
setting(view)
}
if let constraint = constraint {
view.snp.makeConstraints(constraint)
}
return view
}
@iamchiwon
Copy link
Author

import SnapKit
import UIKit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment