스토리지 보드에서 사용자 정의 뷰 쉽게 보기

8673 단어 XcodeSwiftiOS
왜 그런지 모르겠지만, Xcode에서 사용자 정의 보기로 지정해도 기본적으로 슈퍼 보기의 외관으로 표시됩니다.

이거다.사용자 정의 보기가 어디에 있는지 아십니까?
모르지?
그럼 됐지?

IBDesignable을 사용하면 비교적 간단하게 실현할 수 있다.
다음 내용을 복사하면 됩니다.
    override func drawRect(rect: CGRect) {
        #if TARGET_INTERFACE_BUILDER

        CGContextSetFillColorWithColor(UIGraphicsGetCurrentContext(),
            UIColor(red:0.941, green:0.941, blue:0.941, alpha: 1).CGColor)
        CGContextFillRect(UIGraphicsGetCurrentContext(), rect)

        var className = NSStringFromClass(self.dynamicType)
        className = className.substringFromIndex(className.rangeOfString(".")!.endIndex)
        let attr = [
            NSForegroundColorAttributeName : UIColor(red:0.796, green:0.796, blue:0.796, alpha: 1),
            NSFontAttributeName : UIFont(name: "Helvetica-Bold", size: 28)!
        ]
        let size = className.boundingRectWithSize(rect.size, options: NSStringDrawingOptions.allZeros, attributes: attr, context: nil)
        className.drawAtPoint(CGPointMake(rect.width/2 - size.width/2, rect.height/2 - size.height/2), withAttributes: attr)

        if rect.height > 78.0 {
            let subTitle:NSString = "Prototype Content"
            let subAttr = [
                NSForegroundColorAttributeName : UIColor(red:0.796, green:0.796, blue:0.796, alpha: 1),
                NSFontAttributeName : UIFont(name: "Helvetica-Bold", size: 17)!
            ]
            let subTitleSize = subTitle.boundingRectWithSize(rect.size, options: NSStringDrawingOptions.allZeros, attributes: subAttr, context: nil)
            subTitle.drawAtPoint(CGPointMake(rect.width/2 - subTitleSize.width/2, rect.height/2 - subTitleSize.height/2 + 30), withAttributes: subAttr)
        }

        #endif
    }
순정과는 좀 다르지만 나는 이 정도면 충분하다고 생각한다.
BaseView나 뭐에 써서 계승하면 돼!
제삼자와 선을 위한 스토리보드를 만들자.

좋은 웹페이지 즐겨찾기