티스토리 뷰

Mobile/iOS

iOS. Custom View 만들기

out of coding 2018. 8. 14. 15:02

iOS에서 Custom View를 만들때 xib를 불러와서 많이 이용합니다.


하지만 이렇게 할 경우에, Storyboard에서 사용할 경우에 오류가 발생하게 되는데요.


에러가 발생하는것은 무조건 해결해야한다고 생각합니다.


뭐 다음과 같이 #if TARGET_INTERFACE_BUILDER를 이용하면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    func loadNib(name: String= nil) -> UIView? {
        let nib = { () -> UINib in
            var bundle: Bundle?
            #if TARGET_INTERFACE_BUILDER
                bundle = Bundle(for: type(of: self))
            #endif
            
            let nibName = name ?? String(describing: type(of: self))
            return UINib(nibName: nibName, bundle: bundle)
        }()
        
        if let view = nib.instantiate(withOwner: self, options: nil).first as? UIView {
            addSubviewAutoresizing(view)
            return view
        } else {
            return nil
        }
    }
 
    func addSubviewAutoresizing(_ view: UIView) {
        view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
        view.frame = bounds
        addSubview(view)
    }
cs


제발 더 이상 스토리보드에서 에러가 안나길...

'Mobile > iOS' 카테고리의 다른 글

Swift. Codable Decoding (2)  (0) 2018.10.07
iOS. swift defer  (0) 2018.09.01
Swift. AVPlayer 이용하기  (0) 2018.07.08
Swift. @escaping, @autoclosure  (0) 2018.07.06
Swift. inline function  (0) 2018.07.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   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
글 보관함