iOS
-
UIButton Tap fade event programmaticallyiOS 2019. 12. 9. 17:55
코드로 UIButton을 만들 때 클릭 이벤트 활성화하기 Storyboard가 아닌 코드로 UIButton을 생성할 경우 클릭 시 fade 이벤트가 발생하지 않습니다. showsTouchWhenHighlighted 프로퍼티를 이용해 코드 한 줄이면 해결할 수 있습니다. let customButton: UIButton = { let button = UIButton() button.showsTouchWhenHighlighted = true return button }() 감사합니다 :D
-
round only specific cornersiOS 2019. 12. 6. 10:18
특정 부분만 둥글게 만들어 주고 싶은 경우가 있습니다. 이전에는 UIBezierPath를 이용해 그리는 방법을 사용했었는데 아주 간단한 방법으로 설정해 줄 수 있는 방법을 찾아 소개해드리려 합니다. round 처리를 하는 방법은 다들 아시리라 생각합니다. let roundView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) roundView.layer.cornerRadius = 25 let roundView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) roundView.layer.cornerRadius = 25 layer의 cornerRadius 프로퍼티를 사용하면 되는데요. ..
-
iOS) View rounded + shadow 구현하기iOS 2019. 12. 5. 19:54
모서리를 둥글게 하는 corner rounded와 그림자 효과를 같이 사용해야 할 경우가 많이 있습니다. 각각은 쉽게 구현할 수 있지만 이 둘을 함께 사용하면 문제가 발생합니다. 오늘은 round 와 shadow, 각각은 어떻게 구현하는지 합치면 무슨 문제가 있는지 그래서 어떻게 하는지? 알아보도록 하겠습니다. 1. Each Implement Set corner rounded let cornerView = UIView() ... cornerView.layer.cornerRadius = 15 cornerView.layer.maskToBounds = true // or cornerView.layer.cornerRadius = 15 cornerView.clipsToBounds = true 원리는 간단합니다. ..
-
NotificationCenteriOS 2019. 11. 27. 14:26
Notification은 객체 간의 소통을 위해 사용되는 도구 중 하나이다. MVC 패턴에서 Controller는 View 또는 Model과 직접 커뮤니케이션 하지 않는 것이 바람직하다. Notification은 주로 Controller에서 Model의 상태 변화를 감지하는데 사용된다. (API 통신을 하는데 데이터를 받은 후 Controller에서 작업을 하고 싶다면??!) 어떻게 작동하는가? Notification Center는 3개의 구성 요소로 이루어져 있다. Listener (observer) : notifications를 감지 Sender : 필요할 때 notifications 를 보내주는 역할 itself : notification center 그 자체. 작동 원리는 매우 간단하다. Obse..
-
CGPoint, CGSize, CGRectiOS 2019. 11. 26. 15:32
Shortcut CGPoint: 위치를 나타냄. 2차원 좌표계의 점 (x, y) CGSize: 크기만을 나타냄. (width, height) CGRect: 크기와 위치를 나타냄 = CGPoint + CGSize (x, y, width, height) CGPoint : 2차원 좌표계의 점을 나타내는 구조체 /* Points. */ public struct CGPoint { public var x: CGFloat public var y: CGFloat public init() public init(x: CGFloat, y: CGFloat) } CGSize : width와 height의 값을 나타내는 구조체 /* Sizes. */ public struct CGSize { public var width: CGF..
-
Apple Certification, .p8 .p12 .pemiOS 2019. 11. 20. 17:28
많고 복잡한 Apple의 인증서들, "이 작업을 하려면 이게 필요하고 이게 필요하다더라.." 라는 식으로 해왔지만 도대체 .p8은 무엇이고 .p12는 무엇인가??! 한번 정리해보고자 합니다. 오류나 잘못된 사항이 있다면 댓글로 알려주시면 감사하겠습니다. Apple에서 발급한 서명 인증서로, 애플 관련 서비스를 개발, 배포하려면 필수적으로 가지고 있어야 한다. 하지만 APNs(Apple Push Notification Service), Wallet, MDM 등 확장된 서비스를 사용해야 하는 프로그램이라면 Developer 계정을 이용해 따로 인증서를 발급 받아야 한다. 특히 앱에서 많이 사용되는 Push 같은 기능을 위해서는 인증서를 통한 key가 필요하다. 애플 개발 및 서비스에 익숙하지 않은 사용자는 ..
-
나만의 String 만들기, NSMutableAttributedStringiOS 2019. 10. 14. 15:31
String에 폰트, 색, 굵기 등 여러가지 attributes를 주고 싶을 때 사용한다. String attribute는 [NSAttributedString.Key: Any]의 dictionary 형태로 관리되므로, NSAttributedString.key가 attribute의 이름이 되겠다. var multipleAttributes = [NSAttributedString.Key : Any]() multipleAttributes[NSAttributedString.Key.foregroundColor] = UIColor.green multipleAttributes[NSAttributedString.Key.backgroundColor] = UIColor.yellow multipleAttributes[NSAt..
-
UIToolbar Align items ProgrammaticallyiOS 2019. 10. 9. 16:34
이런 왼쪽, 가운데 오른쪽에 배치된 툴바는 여러 앱에서 흔히 볼 수 있습니다. stroryboard를 사용하면 간단하지만, 오늘은 코드로 짜는 방법을 알아볼까해요! navigationBar는 왼쪽, 오른쪽에 우리가 직관적으로 생각할 수 있는 방법으로 추가할 수가 있지만, 툴바는 조금 다른 방법을 사용해야 합니다. UIToolbar, UIBarButtonItem 우선 툴바와 그 안의 아이템부터 알아봅시다. 기본 구조는 우선 UIToolBar를 만들고, 그 안에 [UIBarButtonItem]을 추가하는 방식이에요. let toolbar = UIToolbar() view.addSubview(toolbar) toolbar.translatesAutoresizingMaskIntoConstraints = false..