iOS/StoryBoard 14

Google AdMob을 이용해서 iOS앱에 광고달기

Google AdMob의 다음 iOS공식문서를 참조하여 광고를 적용할 수 있다. 시작하기 | iOS | Google Developers iOS 앱을 제작 중인 AdMob 게시자를 위한 모바일 광고 SDK입니다. developers.google.com iOS에서 구글 애드몹을 사용하기 위해서는 먼저 PodFile에 라이브러리를 추가해야한다. pod 'Google-Mobile-Ads-SDK' 'Google-Mobile-Ads-SDK'는 iOS 10.0부터 지원되므로, iOS 플랫폼을 10.0이상의 버전으로 지정해주자!! 나는 iOS13으로 지정해주었다. platform :ios, '13.0' target 'MyAdMobTest' do use_frameworks! pod 'Google-Mobile-Ads-SD..

iOS/StoryBoard 2022.02.19

iOS15/ Xcode13 에서 체크박스 만들기...실패와 해결

iOS 에서는 기본적으로 제공해주는 체크박스가 없다. 위처럼 자동로그인 버튼을 체크했을 때 체크박스처럼 색깔이 채워지는 기능을 만들고 싶었다. 그래서!! 원래는 속이 비어있는 체크박스의 이미지를 가지고 있다가 터치되면 속이 차있는 이미지를 바꾸는 방식으로 구현하기로 하였다. 이미지는 SF Symbol의 checkmark.rectangle과 checkmark.rectangle.fill을 사용하였다! 버튼의 이미지를 바꾸는 작업은 간단하다. 단순히 버튼에 setImage 메서드를 사용하면되기 때문이다. 비어있는 체크박스는 버튼의 ControlState가 normal일때, 색칠되어있는 체크박스는 버튼의 ControlState가 selected일 때로 설정하고, 버튼이 눌릴 때마다 버튼의 isSelected 프..

iOS/StoryBoard 2022.02.18

조건문을 이용해서 백그라운드 색상 변경하기

구현하고자 하는 기능은 위와 같이 로그인 버튼을 눌렀을 때 메인화면으로 이동하고, 버튼을 눌러서 배경색을 변경시키는 것이다. 주요 기능은 조건문을 이용해서 색상을 변경시키는 것이지만, ViewController를 직접 코드로만 작성해보고, Label과 Button을 추가시키는 것까지 함께 해보자 먼저 화면 충앙에 "메인 화면"을 추가하고 중앙에 위치시켜보자. var titleLabel: UILabel = { let label = UILabel() label.text = "메인화면" label.textAlignment = .center label.font = UIFont.boldSystemFont(ofSize: 50) label.textColor = .white return label }() label의 ..

iOS/StoryBoard 2022.02.17

iOS 앱에서 QR코드 인식시키기

QR코드란 하나의 URL이다. URL로 만들어진 QR코드를 다음과 같은 과정으로 인식하게된다. 1. 사진을 찍어서 QR코드를 인식시킨다. 2. QR코드를 URL주소로 만든다. 3. URL주소를 웹뷰로 보여준다. QR코드 인식 버튼을 클리갛게 되면, QR코드 뷰 컨트롤러를 이용해서 사진을 찍게 되면, 인식된 URL로 웹뷰를 띄우는 방식으로 진행할 것이다. QR코드 리더는 다음과 같은 오픈소스를 사용한다. GitHub - yannickl/QRCodeReader.swift: Simple QRCode reader in Swift Simple QRCode reader in Swift. Contribute to yannickl/QRCodeReader.swift development by creating an acc..

iOS/StoryBoard 2022.02.15

UITableViewCell을 SwipeCellKit.SwipeTableViewCell로 바꾸기

UITableViewCell의 Cell을 밀어서 삭제하는 기능을 추가하기 위해서 SwipeCellKit을 처음 사용하게 되고, 메뉴얼에 따라 메서드를 추가하고 앱을 실행시키면 Xcode에서 다음과 같은 에러를 발생시키면 앱이 Crush된다. Could not cast value of type 'UITableViewCell' (0x1d82c22f8) to 'SwipeCellKit.SwipeTableViewCell' (0x10350ed50). 이를 해결하는 방법은 앱을 중지한 후 Main.storyboard로 가서 우리가 SwipeCell로 사용한 Cell을 선택한 다음 Identity Inspector에tj 서 클래스(Class)와 그 클래스가 있는 모듈(Module)을 지정해주면 된다. 여기서는 Clas..

iOS/StoryBoard 2022.02.09

UISearchBar를 사용해서 목록 검색하기

스토리보드 라이브러리에서 Search Bar를 선택해서 간단하게 검색창을 놓을 수 있다. 데이터는 Item이라는 이름의 entity이고, title과 done 이라는 프로퍼티가 엔티티에 지정되어 있다. 서치바의 기능을 사용하기 위해서는 클래스에 UISearchBarDelegate 클래스를 상속해야한다. Delegate가 포함된 클래스를 상속받을 때에는 항상 delegate를 지금 구현해야 하는 클래스로 바꾸어 주는 것을 잊지 말자. searchBar.delegate = self 위와 같이 코드로 작성해주거나, 아래와 같이 스토리 보드 파일에서 직점 설정해 줄 수 있다. control(⌃)을 누른 채로, 뷰 상단에 가져다 대면 delegate로 설정할 수 있다. //MARK: - Search bar met..

iOS/StoryBoard 2022.02.01

LottieFiles 를 이용한 iOS 앱에 애니메이션 추가하기.

lottie files를 이용해 앱이 시작하고, 메인화면을 출력하기 전에 간단한 애니메이션을 사용할 수 있다. 메인화면이 아니더라도 앱 내부에 애니메이션을 추가하고 싶을 때 사용할 수 있다. 먼저 Main Screen이라는 Label을 화면 정중앙에 위치시켜보자. 여기서는 stroyboard 파일에 설정하지 않고, 코드로 작성하였는데, 그 이유는 애니메이션이 실행된 후에 Label이 출력되기를 원하기 때문이다. MainViewController.swift에 작성하였다. let titleLabel: UILabel = { let label = UILabel() label.textColor = .black label.textAlignment = .center label.text = "Main Screen" l..

iOS/StoryBoard 2022.01.25

segue 를 사용해서 또 다른 뷰를 나타내기

전에는 코드만을 사용해서 직접뷰를 호출해주었지만, 출력해야 하는 뷰가 많아지면 일일히 그렇게 해주기에는 부담이 될 것이다. 이를 위해서 애플에서 제공하는 segue를 사용한다. Calculate View Controller 에서 control(^)을 누른 채로 Result View Controller에 놓은후 마우스를 떼면 segue를 생성할 수 있다. 여기서는 Present Modally로 설정해 주었고, Attribute Instpector에서 위와같이 생성된 segue를 선택하면 Attribute Inspector에서 Identifier를 설정할 수 있다. 그러면 이제 Calculator Inspector에서 performSegue메서드를 사용하여 Segue를 사용할 수 있다. withIdentif..

iOS/StoryBoard 2022.01.02

새로운 뷰를 나타내기, 값 전달

해당화면에서 CALCULATE 버튼을 누르면 키와 몸무게에 따른 새로운 화면으로 넘어가도록 하고싶다. 먼저 새로운 뷰는 다음과 같이 라이브러리에서 View Controller를 선택해 생성할 수 있다. 지금은 바로 사용하지는 않지만, 새로운 뷰를 생성하려면 어차피 알아두어야 한다. controller 폴더에 새로운 뷰를 위한 swift파일을 추가하고, 빨간화면에 계산된 bmi가 계산되도록 다음과 같이 작성하였다. viewDidLoad 함수는 뷰가 처음 보여졌을 때 호출되는 함수이다. label을 하나 만들고, .frame을 통해서 label의 크기를 설정할 수 있다. (0, 0)의 너비 100, 높이 50으로 설정하였다. 그러면 계산된 bmi 값을 어떻게 SecondViewController에 전달할 수..

iOS/StoryBoard 2022.01.02