투케이2K

524. (ios/swift5) [유틸 파일] cgRecCenter : CGRect 센터 배치 수행 본문

IOS

524. (ios/swift5) [유틸 파일] cgRecCenter : CGRect 센터 배치 수행

투케이2K 2024. 4. 28. 20:24

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [CGRect 센터 배치 수행]
    // -----------------------------------------------------------------------------------------
    func cgRecCenter(onView : UIView, w: Int, h: Int) -> CGRect? {
        
        /*
        // -----------------------------------------
        [cgRecCenter 메소드 설명]
        // -----------------------------------------
        1. CGRect 센터 배치 수행
        // -----------------------------------------
        2. 호출 방법 :
         
         // [CGRect 크기 및 위치 설정 실시]
         let cgRect = C_App().cgRecCenter(onView: self.view, w: 100, h: 200)
         
         
         // [라벨 생성 실시]
         let label = UILabel(frame: cgRect!) // [위치 및 크키 설정]
         label.backgroundColor = UIColor.blue // [배경 색상]
         label.textAlignment = .center // [텍스트 정렬]
         label.text = "투케이2K" // [텍스트 설정]
         label.textColor = UIColor.white // [텍스트 색상]
         label.font = UIFont.systemFont(ofSize: CGFloat(50)) // [폰트 사이즈]
         
         
         // [addSubview 추가 실시]
         self.view.addSubview(label)
         
        // -----------------------------------------
        3. 리턴 예시 :
         
         CGRect 데이터
        // -----------------------------------------
        */

        
        // [변수 선언]
        var returnData: CGRect? = nil
        var M_LOG = ""


        // [로직 처리 실시]
        if w > 0 && h > 0 { // [널 체크]
            
            // [CGRect 사이즈 설정]
            let cgRec = CGRect.init(
                x: ((Int(onView.frame.size.width) / 2) - (w / 2)), // [x]
                y: ((Int(onView.frame.size.height) / 2) - (h / 2)), // [y]
                width: w, // [width]
                height: h // [height]
            )

            
            returnData = cgRec
            M_LOG = "[Success] :: cgRecCenter"
            
        }
        else {
            M_LOG = "[Error] :: input data is null"
        }
        
        
        // [로그 출력 실시]
        S_Log._D_(description: "CGRect 센터 배치 수행", data: [
            "INPUT [WIDTH] :: \(w)",
            "INPUT [HEIGHT] :: \(h)",
            "M_LOG :: \(M_LOG)",
            "RETURN :: \(String(describing: returnData))"
        ])
        
        
        // [리턴 변수 선언]
        return returnData
        
    }
 

[결과 출력]

 
 

 

반응형
Comments