처음부터 차근차근
12주차 정리 본문
Xcode에서 rounded button 만드는 방법
모서리가 둥근 버튼을 만드는 방법에는 2가지가 있다.
- 소스에서 변경하는 방법
- button inspector에서 변경하는 방법
소스에서 변경하는 방법
버튼을 Outlet 프로퍼티로 만들어서 아래의 코드를 작성하면된다.
button.clipsToBounds = true
button.layer.cornerRadius = 0.5 * button.bounds.size.height
inspector에서 변경하는 방법
Main.storyboard로 가서 rounded 속성을 넣을 button을 찾아 클릭하고 inspector창에서 맨 위 세 번째 아이콘을 클릭하고 User Defined Runtime Attributes에다 다음과 같이 입력하고 클릭한다.
Key Path Type Value
--------------------- ----------- -------
layer.cornerRadius Number 7
Key Path - layer.cornerRadius : 버튼 모서리 둥글게 하는 속성
Type - Number : 속성 값을 숫자로 지정할 것임을 나타냄
Value : 값. 값이 크면 클 수록 버튼 모서리가 점점 동그래짐
이렇게 하면 storyboard화면에는 보이지 않지만 실행 버튼을 눌렀을 때 simulator에서 버튼 모서리가 둥글게 된것을 볼 수 있다.
Text Field의 keyboard Type을 숫자 패드로 바꾸기
사용자에게 숫자 값만 받아야 할 때가 있다.
이 때 숫자가 아닌 다른 값을 받지 못하도록 코드를 통해 막을 수도 있지만 숫자 패드만 사용하게 해서 숫자가 아닌 다른 값을 받지 않는 방법이 있다.
숫자 패드를 넣을 TextField를 클릭하고 inspector창의 맨 위에서 다섯 번째 아이콘을 클릭한 후 Keyboard Type을 Decimal Pad로 바꾸면 된다.
이렇게 하면 사용자가 TextField 터치했을 때 숫자 패드가 나온다.
label에 아이콘 넣기
아이콘을 넣을 field를 클릭한 상태에서 상단 메뉴바에서 Edit -> Emoji & Symbols를 클릭한다.
그럼 이런 식으로 아이콘 탭이 나와서 아이콘을 선택하여 집어넣을 수 있다.
String을 다른형으로 형변환
// 문자열 10을 Int형으로 변환하면 Optional<Int>형이 된다.
print(Int("10")) //Optional(10)
// 'ksy'문자열을 Int형으로 변환할 수 없으므로 nil을 반환한다.
print(Int("ksy")) //nil
// String형이 아닌 다른 값을 형변환하면 Optional이 붙지 않는다.
print(Double(0.012)) //0.012
// double형을 Int형으로 형변환 해서 소수점 뒷자리가 잘렸다.
print(Int(0.012)) // 0
// 문자열 10.5를 Float형으로 형변환 해서 Optional<Float>형이 되었다.
print(Float("10.5")) //Optional(10.5)
// 'soyoung' 문자열을 Double형으로 형변환할 수 없으므로 nil이 반환된다.
print(Double("soyoung")) //nil
String형을 다른형으로 형변환할 때 그 형으로 형변환이 가능하면 Optional 변수가 되고, 형 변환이 불가능하면 nil이 들어간다.
강제 언래핑 두 번 해야하는 경우
let height = Double(txtHeight.text!)!
* txtHeight 는 사용자에게 입력을 받는 UITextField IBOutlet 프로퍼티임
위의 코드에서 느낌표를 두 개 쓰는 이유 :
txtHeight.text는 사용자에게 입력받는 값이기 때문에 Optional<String>형이다.
그래서 Optional을 풀어 String형으로 만들기 위해 !를 사용해서 강제 언래핑을 한다.
그 다음 String형을 Double형으로 형변환을 시키면 String형이 다시 Optional<Double>형이 되기 때문에 !을 사용해서 강제 언래핑을 해줘야한다.
그래서 느낌표를 두 개 써줘야 하는 것이다.
출처 : iOS프로그래밍기초(21-2학기)한성현교수 강의 내용 변형 및 요약
'프로그래밍 > Swift' 카테고리의 다른 글
Swift 문법 복습1, json 정리 사이트 (0) | 2022.03.17 |
---|---|
강의 내용 정리 (0) | 2021.11.29 |
iOS 앱 제작 : 꽃말 출력 앱 (0) | 2021.11.15 |
iOS 앱 제작 : Simple Calculator (1) | 2021.11.15 |
Swift 정리 (0) | 2021.11.14 |