처음부터 차근차근

12주차 정리 본문

프로그래밍/Swift

12주차 정리

_soyoung 2021. 11. 22. 13:45
반응형

Xcode에서 rounded button 만드는 방법

모서리가 둥근 버튼을 만드는 방법에는 2가지가 있다.

  1. 소스에서 변경하는 방법
  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
Comments