2021-10-12

 

사이트가 유료화가 되면서 다시 바뀐 사이트 공유

 

사용 방법

App Icon, Image Set 을 이용해 해당 이미지를 넣고 Generate만 하면 간단하게 사용 가능하다.

Android, iOS 둘 다 사용 가능하기 때문에 아주 좋다.

 

App Icon 같은 경우는 Assets 폴더가 생성되기 때문에 바로 넣기만 하면 된다.

 

끝!

 

https://appicon.co/

 

추천!!

 

 

 

 

2020-04-10

 

근례 아이콘 만들고 쓰는 사이트를 바꾸었다.

 

 

여기는 App 아이콘과 이미지를 [@1x, @2x, @3x], iPhone, iPad, Android 를 다 만들수 있다.

 

 

 

 

추천추천!! 별 5개 추천

 

설명은 나중에 넣고 이미지 다운로드 해보자.

 

Icon cutter

 

https://www.iconcutter.com/

 

 

Made with love in Bangkok, Thailand

 

 

 

 

 

 


 

 

개발에 꼭 들어가는 부분 중 하나는

 

사이즈가 다른 iCon 적용 부분이다.

 

그러나 그래픽에서 항상 원하는 사이즈를 그대로 주지는 않는다.

 

그래서 1024*1024 Size 아이콘 이미지 하나만 넣으면 쉽게 만들 수 있는

 

사이트 하나를 소개해본다.

 

 

 

http://icon.angrymarmot.org/

 

 

 

한번 쓰면 계속 쓰게 될것이다.

 

 

 

 

추천!

 

 

애플 아이콘 만들기

안드로이드 아이콘 만들기

iCon Make

 

 

 

 

2019 - 03 - 04 

확인해 보았는데 사이트가 안들어가지네요...

 

그래서 다른데...

 

https://makeappicon.com/

 

여기는 메일로 보내준다.. 구지 쓰기 싫으신분은 안쓰셔도 된다.

 

 

 

 

 

 

 

 

 

 

가장 잘 쓰고 있는 하나중에 손에 꼽힌다.

 

안드로이드에 있는 Toast를 똑같이 구현해본거다. 

원래는 상 | 중 | 하 단으로 선택해서 구현을 했지만, 딱히 상 | 하 단을 이용하지 않아 지워버렸다!

 

써보고 싶은 사람은 써보고 개선할점이 있으면 알려주기 바랍니다.

아니면 개선해서 알려주세요 ㅎㅎ

 

xib 파일은 다운받아서 써보세요. 쓰는 방법은

 

Toast.showToastMessage(message: "")

let kTOAST_DURATION_VALUE: TimeInterval = 0.5
let kTOAST_HEIGHT_VALUE: CGFloat = 80.0
let kTOAST_WIDTH_RATE_VALUE: CGFloat = 0.9

class Toast: UIView {
    
    @IBOutlet weak var msg_lb: UILabel!

    required init?(coder: NSCoder) {
        super.init(coder: coder)
    }
    
    class func showToastMessage(message: String) {
        if let topVC = Utils.topViewController() {
            let name = String(describing: Toast.self)
            guard let loadedNib = Bundle.main.loadNibNamed(name, owner: self, options: nil) else { return }
            guard let toast = loadedNib.first as? Toast else { return }
            toast.msg_lb.text = message
            toast.show(activeView: topVC.view, message: message)
            
            toast.translatesAutoresizingMaskIntoConstraints = false
            toast.centerXAnchor.constraint(equalTo:topVC.view.centerXAnchor).isActive = true
            toast.centerYAnchor.constraint(equalTo:topVC.view.centerYAnchor).isActive = true
            toast.widthAnchor.constraint(equalToConstant: UIScreen.main.bounds.size.width * kTOAST_WIDTH_RATE_VALUE).isActive = true
        }
    }
    
    func show(activeView :UIView, message:String) {
        self.msg_lb.layer.cornerRadius = 5
        self.msg_lb.text = message
        
        self.alpha = 0
        self.isUserInteractionEnabled = false
        
        activeView.addSubview(self)
        
        UIView.animate(withDuration: kTOAST_DURATION_VALUE, delay: 0, options: .curveEaseIn, animations: {
            self.alpha = 1.0
        }) { (finished) in
            self.isUserInteractionEnabled = true
            UIView.animate(withDuration: kTOAST_DURATION_VALUE, delay: 1.0, options: .curveEaseIn, animations: {
                self.alpha = 0.0
            }) { (finished) in
                self.removeFromSuperview()
            }
        }
    }
}

 

Toast.swift
0.00MB
Toast.xib
0.00MB

 

 


 

'[ 자기개발 ] > [ Swift ]' 카테고리의 다른 글

Alert.swift  (0) 2020.11.19
UIColor+Extension.swift  (0) 2020.11.19

 

 

UIAlertController | UIAlertAction

 

더 좋은 방법이 있을까요?

 

 

Alert.swift

class Alert: NSObject {
    class func showAlert(title :String, message :String, actions :[String], completion :@escaping (_ text :String, _ index :NSInteger) -> Void) -> Void {
        let alert :UIAlertController    = UIAlertController.init(title: title, message: message, preferredStyle: .alert)
        for i in 0 ..< actions.count {
            let action :UIAlertAction = UIAlertAction.init(title: actions[i],
                                                           style: .default) { (action) in
                completion(actions[i], i)
            }
            alert.addAction(action)
        }
        alert.modalPresentationStyle = .popover
        
        // getTopViewController : 최상단 뷰 컨트롤러
        getTopViewController()?.present(alert, animated: true, completion: {
            
        })
    }
    
    class func showAction(title :String, message :String, actions :[String], completion :@escaping (_ text :String, _ index :NSInteger) -> Void) -> Void {
        let alert :UIAlertController    = UIAlertController.init(title: title, message: message, preferredStyle: .actionSheet)
        for i in 0 ..< actions.count {
            let action :UIAlertAction = UIAlertAction.init(title: actions[i],
                                                           style: i == (actions.count-1) ? .cancel : .default) { (action) in
                completion(actions[i], i)
            }
            alert.addAction(action)
        }
        alert.modalPresentationStyle = .popover
        alert.view.tintColor = UIColor.black

	// getTopViewController : 최상단 뷰 컨트롤러
        getTopViewController()?.present(alert, animated: true, completion: {
            
        })
    }
}

 

사용방법

 

Alert 사용방법

Alert.showAlert(title: "[ 타이틀 ]",
                        message: "[ 메세지 ]]",
                        actions: ["액션 - 1","액션 - 2","액션 - 3","액션 - 4","액션 - 5","닫기"]) { (text, index) in
    if text != "닫기" {
                
    }
}
더보기

Alert 결과화면

showAlert 호출 화면

 

 

ActionSheet 사용방법

Alert.showAction(title: "[ 타이틀 ]",
                        message: "[ 메세지 ]]",
                        actions: ["액션 - 1","액션 - 2","액션 - 3","액션 - 4","액션 - 5","닫기"]) { (text, index) in
    if text != "닫기" {
                
    }
}
더보기

ActionSheet 결과화면

 

showAction 호출 화면

'[ 자기개발 ] > [ Swift ]' 카테고리의 다른 글

Toast.Swift  (0) 2021.04.27
UIColor+Extension.swift  (0) 2020.11.19

+ Recent posts