일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 직장인인강
- 환급챌린지
- 패스트캠퍼스
- 직장인공부
- 직장인자기계발
- reactnative강의
- 패캠
- 자바스크립트
- 코딩교육
- 패캠인강후기
- 오공완
- 30개프로젝트로배우는iOS앱개발withSwift초격차패키지Online.
- 패스트캠퍼스후기
- 파이썬
- 직정인자기계발
- 코딩테스트
- 패캠강의후기
- 자바
- 패캠챌린지
- 코딩자격증
- 수강료0원챌린지
- fastcampus
- 패캠reactnative
- Today
- Total
라티의 작은 일기장
[29일차] [계산기 앱] 계산기 앱 UI 그리기 part.2 & part.3 본문
오늘은 계산기 앱의 UI를 구성하는 두 번째 회차이다. 어제는 앱 UI의 기본적인 틀을 완성했다면 오늘은 색을 입힐 차례!
일단 Button들의 Title을 iOS 기본 계산기 앱과 동일하게 보이도록 변경해주자. 어제 AC 버튼 오른쪽 버튼이 연산 결과를 출력하는 '=' 이라고 적었었는데, iOS 기본 계산기 앱 기준으로는 나누기에 해당한다... ㅎㅎ
그래서 똑같이 바꿔나가다 보면...
1과 2 아래 버튼 2개가 iOS 계산기 앱에서는 0을 나타내는 하나의 버튼임을 발견하게 된다!
2 아래의 버튼을 지워주고, 1 아래의 버튼의 Aspect Ratio 제약조건을 삭제한 뒤, 어제 AC 버튼에 대해서 Size를 조정한 방식을 적용시켜주자. 그리고 다음과 같은 과정을 따라 UI에 스타일을 입혀주면 다음과 같은 결과를 볼 수 있다.
- 모든 버튼 선택 후 Font Style -> Medium, Font Size -> 30으로 변경
- 메인 View Controller의 Background Color를 Black으로 변경
- 키패드를 구성하는 View Controller의 Background Color도 Black으로 변경
- 계산 결과를 표시하는 Label의 Title을 0으로 설정 후 Text Color -> White 변경 및 오른쪽 정렬, Font Size 40으로 증가
- 키패드 내 버튼의 Title의 Text Color -> White 변경
- "AC" 버튼의 Background Color 변경 (RGB : 165, 165, 165), Text Color -> Black
- 연산자 버튼의 Background Color 변경 (RGB : 254, 160, 10)
- 숫자 버튼의 Background Color 변경 (RGB : 51, 51, 51)
스타일 적용 결과 :
오 뭔가 비슷해졌다. 그런데 버튼의 모양이 둥글둥글하지 않은 것이 조금 아쉬운 부분으로 남았다.
이건 어떻게 해결할 수 있을까?
UIButton의 Corner Radius 값을 조정해줘도 되지만, IBInspectable과 IBDesignable 어노테이션을 이용하는 방법을 활용해보자.
UIButton의 Subclass로 설정해서 RoundButton이라는 클래스를 하나 만들어주자.
그리고 다음과 같이 코드를 입력해주자.
import UIKit
@IBDesignable
class RoundButton: UIButton {
@IBInspectable var isRound: Bool = false {
didSet {
if isRound {
self.layer.cornerRadius = self.frame.height / 2
}
}
}
}
코드에서 IBInspectable은 스토리보드 상에서 코드의 기능을 옵션으로서 제공하는 역할을 하고, IBDesignable은 변경된 UI를 실시간으로 스토리보드에 동기화시켜서 변화된 부분을 확인할 수 있도록 만들어준다.
스토리보드에서 모든 버튼을 선택한 채로 정의한 클래스를 상속시키고, Inspector 메뉴에서 isRound 옵션을 찾아서 On으로 변경해주면..
드디어 이렇게 익숙하게 둥근 UI를 확인할 수 있게 된다!
패스트캠퍼스 바로가기 : http://bit.ly/3Y34pE0
> 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Swift' 카테고리의 다른 글
[30일차] [계산기 앱] 계산기 앱 기능 구현 part.1 (0) | 2023.03.21 |
---|---|
[28일차] [계산기 앱] 계산기 UI 그리기 part.1 (0) | 2023.03.19 |
[27일차] [계산기 앱] 앱 요구사항 & UIStackView 알아보기 (0) | 2023.03.18 |
[26일차] [LED 전광판 앱] 기능 구현하기 part.2 (0) | 2023.03.17 |
[25일차] [LED 전광판 앱] 기능 구현하기 part.1 (0) | 2023.03.16 |