Notice
Recent Posts
Recent Comments
Link
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

lgvv98

iOS SnapKit 01 | leading & trailing ๋ณธ๋ฌธ

โš ๏ธ deprecated โš ๏ธ/iOS Third Party

iOS SnapKit 01 | leading & trailing

๐Ÿฅ• ์บ๋Ÿฟ๋งจ 2021. 8. 18. 15:42

โœ… ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ์˜ˆ์ •์ด์•ผ.

์Šค๋ƒ…ํ‚ท์„ ๊ณต๋ถ€ํ•  ๋•Œ๋Š” ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ์•Œ์•„๋ณด๋Š”๊ฒŒ ๋‘๋ฐฐ๋กœ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ด๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ์–ด

 

๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ...

์ง€๊ธˆ๊นŒ์ง€ ๋‚˜๋Š” UIStoryboard ์—๋‹ค๊ฐ€ ๋ฒ„ํŠผ์ด๋‚˜ ๋ ˆ์ด๋ธ”๋“ค์„ ์˜ฌ๋ ค์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ์ด ๋ฐฉ๋ฒ•์˜ ์น˜๋ช…์ ์ธ ๋‹จ์ ์„ ์•Œ๊ฒŒ๋˜์–ด์„œ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฒ•๋„ ์—ฌ๊ธฐ์„  ๊ณต๋ถ€ํ•ด ๋ณด๋ ค๊ณ ํ•ด.

๋ฌผ๋ก , IBOulet์„ ์ด์šฉํ•ด์„œ snp๋ฅผ ๊ฑธ์–ด๋„ ๊ฐ€๋Šฅํ•ด.

 

๐Ÿ’ก ๋‚ด๊ฐ€ ๋Š๋‚€ ์น˜๋ช…์ ์ธ ๋‹จ์ 

 - Storyboard์— ์˜ฌ๋ ค์„œ ์ž‘์—… ์‹œ, ์ถ”ํ›„์— ๋„ฃ๋Š” ์ด๋ฏธ์ง€๋‚˜ ์•„์ด์ฝ˜๋“ค์ด ๊ฐ€์žฅ ๋’ท ๋ถ€๋ถ„์œผ๋กœ ๊ฐ€์•ผํ•˜๋ฉด, ์Šคํ† ๋ฆฌ ๋ณด๋“œ๋ฅผ ๊ฐ€๋ฆฌ๊ฒŒ ๋˜์–ด์„œ ๋ถˆํŽธํ•จ์„ ์ดˆ๋ž˜ํ•จ.

 

 

โœ… [์˜ค๋Š˜์˜ ์˜ˆ์ œ]

SnapKit์„ ํ™œ์šฉํ•˜์—ฌ UIButton, UILabel, UITextField๋ฅผ ๋ฐฐ์น˜ํ•˜์—ฌ ๋ณด์ž.

 

โœ… [์˜ˆ์ œ์˜ ๊ฒฐ๊ณผ]

๊ฒฐ๊ณผ ์ด๋ฏธ์ง€

 

โœ… ์ฝ”๋“œ ๋ฆฌ๋ทฐ

//
//  ViewController.swift
//  SnapKit_practice
//
//  Created by Hamlit Jason on 2021/08/18.
//

import UIKit
import SnapKit
class ViewController: UIViewController {

    lazy var box = UIView()
    lazy var nameLabel = UILabel()
    lazy var nameTextField = UITextField()
    lazy var changeButton = UIButton()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = .white
        setUpView()
    }
    
    func setUpView() {
        self.view.addSubview(self.nameLabel)
        self.view.addSubview(self.nameTextField)
        self.view.addSubview(self.changeButton)
        
        nameLabel.text = "this is UILabel"
        nameTextField.placeholder = "this is UITextField"
        changeButton.setTitle("this is UIButton", for: .normal)
        nameLabel.backgroundColor = .blue
        nameTextField.backgroundColor = .green
        changeButton.backgroundColor = .red
        
        
        self.nameLabel.snp.makeConstraints {
            $0.top.equalToSuperview().offset(80)
            $0.leading.equalToSuperview().offset(24)
            $0.trailing.equalToSuperview().offset(-24)
        }
        
        self.nameTextField.snp.makeConstraints { // ๋„ค์ž„ ๋ ˆ์ด๋ธ”์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ
            $0.top.equalTo(self.nameLabel.snp.bottom).offset(24)
            $0.leading.equalTo(self.nameLabel)
            $0.trailing.equalTo(self.nameLabel)
            //$0.leading.trailing.equalTo(self.nameLabel) ์ด๋ ‡๊ฒŒ ์ค„์—ฌ์“ธ ์ˆ˜ ์žˆ๋‹ค.
        }
        
        self.changeButton.snp.makeConstraints { make in
            make.center.equalToSuperview()
            // $0.center.equalToSuperview()
            make.size.greaterThanOrEqualTo(nameTextField) // ๊ฐ™๊ฑฐ๋‚˜ ํฌ๊ฒŒ
        }
    }
        
}

์ฝ”๋“œ๋ฅผ ๊ทธ๋ƒฅ ์ญ‰ ์ฝ์–ด๋ณด๋ฉด ํฌ๊ฒŒ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด ์—†๋‹ค. 

๋‹ค๋งŒ, Button์˜ ๊ฒฝ์šฐ size๋ฅผ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๋ฒ„ํŠผ์˜ ํฌ๊ธฐ๊ฐ€ ๋ฒ„ํŠผ์˜ ๋‚ด์šฉ์— ๋งž๊ฒŒ ์กฐ์ ˆ๋˜๋ฏ€๋กœ ๊ผญ ์œ ์˜ํ•˜๊ธฐ

๋˜ํ•œ ํ…์ŠคํŠธํ•„๋“œ๋Š” ๋„ค์ž„๋ ˆ์ด๋ธ” ์ชฝ์— ๊ฑธ์–ด์ค€ ๋ชจ์Šต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด.

์ขŒ  : ๋ ˆ์ด์•„์›ƒ ํ•ด์„ค, ์šฐ : ๋ฒ„ํŠผ ์‚ฌ์ด์ฆˆ ์ฝ”๋“œ ์ฃผ์„์ฒ˜๋ฆฌ
์ฝ”๋“œ๋กœ ์ž‘์„ฑ์‹œ์—๋Š” ๊ณ„์ธต์œผ๋กœ ํ™•์ธํ•˜๊ธฐ 

 

Comments