apple/iOS, UIKit, Documentation

iOS SnapKit 공식문서로 공부하기

lgvv 2021. 8. 18. 02:50

✅ 이번시간에는 공식문서에 있는 코드들을 살펴보면서 하나씩 공부해보도록 하자.

 

SnapKit 깃허브에 나와있는 Documents

http://snapkit.io/docs/

 

Requirements

Requirements iOS 8.0+ / Mac OS X 10.11+ / tvOS 9.0+ Xcode 9.0+ Swift 4.0+ Communication If you need help, use Stack Overflow. (Tag ‘snapkit’) If you’d like to ask a general question, use Stack Overflow. If you found a bug, open an issue. If you have

snapkit.io

 

 

✅ 가장 기본적인 코드

import UIKit
import SnapKit

class ViewController: UIViewController {

    lazy var box = UIView()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
        self.view.addSubview(box)
        box.backgroundColor = .green
        
        box.snp.makeConstraints { (make) -> Void in
            make.top.equalTo(view).offset(20)
            make.left.equalTo(view).offset(20)
            make.bottom.equalTo(view).offset(-20)
            make.right.equalTo(view).offset(-20)
        }
        
    }
}

가장 기본적인 코드인데 유의해야 하는점은 

top과 left는 안쪽으로 들여써서 20의 값을 갖는 반면

bottom과 right는 화면 안쪽으로 하기 위해서 -20의 값을 가져야 한다.

즉, 쉽게말해서 x축이라고 생각하고 x축의 0이 지점이 left top right bottom 등으로 설정된다.

사실 여기 부분은 그냥 코드를 보면 쉽게 이해가 간다...!

위의 코드는 다른 방법으로 대치될 수도 있는데,

box.snp.makeConstraints { make in
            make.edges.equalTo(view)
                .inset(
                    UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20))
        }

위에 보이는 것과 같은 코드로도 대체될 수도 있다.

❗️여기서 유의할 점은 inset의 경우에는 플러터에서 공부한 것처럼 안쪽으로 여백을 주는거라 - 부호가 아닌 + 부호를 쓴다

 

기본적인 사용