Back to listSwift
SnapKit-style Auto Layout
Lv.51782@mukitaro0 playsJan 2, 2026
SnapKit Auto Layout DSL pattern. Clean constraint syntax for iOS.
preview.swift
1import UIKit2import SnapKit3 4class ProfileView: UIView {5 private let avatarImageView = UIImageView()6 private let nameLabel = UILabel()7 private let emailLabel = UILabel()8 private let bioLabel = UILabel()9 private let followButton = UIButton(type: .system)10 11 override init(frame: CGRect) {12 super.init(frame: frame)13 setupViews()14 setupConstraints()15 }16 17 required init?(coder: NSCoder) {18 fatalError("init(coder:) has not been implemented")19 }20 21 private func setupViews() {22 avatarImageView.layer.cornerRadius = 4023 avatarImageView.clipsToBounds = true24 25 nameLabel.font = .boldSystemFont(ofSize: 18)26 emailLabel.font = .systemFont(ofSize: 14)27 emailLabel.textColor = .gray28 bioLabel.numberOfLines = 029 30 [avatarImageView, nameLabel, emailLabel, bioLabel, followButton].forEach { addSubview($0) }31 }32 33 private func setupConstraints() {34 avatarImageView.snp.makeConstraints { make in35 make.top.equalToSuperview().offset(16)36 make.centerX.equalToSuperview()37 make.size.equalTo(80)38 }39 40 nameLabel.snp.makeConstraints { make in41 make.top.equalTo(avatarImageView.snp.bottom).offset(12)42 make.centerX.equalToSuperview()43 }44 45 emailLabel.snp.makeConstraints { make in46 make.top.equalTo(nameLabel.snp.bottom).offset(4)47 make.centerX.equalToSuperview()48 }49 50 followButton.snp.makeConstraints { make in51 make.top.equalTo(emailLabel.snp.bottom).offset(16)52 make.centerX.equalToSuperview()53 make.width.equalTo(120)54 make.height.equalTo(44)55 }56 }57}Custom problems are not included in rankings