아삭아삭 iOS 개발

[TIL] 2022.07.04 (SeSAC iOS) 본문

TIL(Today I Learned)

[TIL] 2022.07.04 (SeSAC iOS)

바닐라머스크 2022. 7. 4. 23:51

 

오늘 공부한 내용들을 내가 잊지 않기 위해 기록합니다.

틀린 내용이 있을 수 있는 점 참고 부탁드립니다 :)

 

■ UIButton의 테두리 둥글게 만들기 (storyboard사용)

button의 테두리를 둥글게 설정하기 위해 코드를 이용하는 방법밖에 몰랐는데, 스토리보드를 이용한 방법을 알게되었음

설정 위치가 스토리보드 쪽에 한다뿐이지 적용 키워드는 코드로 입력하는 경우와 동일했음

 

1) 작업할 버튼 클릭
2) Identity Inspector 클릭
3) User Defined Runtime Attributes에 아래 2개 항목들 추가
  - Key Path : layer.masksToBounds, Type : Boolean, Value : (체크)

  - Key Path : layer.cornerRadius, Type : Number, Value : 60(-> 이 값은 조절해서 적절한 수치 입력하면 됨)

(07.04 과제화면 일부) 하단의 버튼 모서리 둥글게 설정 완료

UILabel > Line Break

1) Character Wrap

: 단어가 짤리더라도 Label의 영역을 고려하여 줄 바꿈

 

 

 

 

2) Word Wrap

: 단어가 잘리지 않도록 (즉, 단어 단위로) Label의 영역을 고려하여 줄 바꿈

 

 

3) Truncate Tail

: Label의 영역을 고려하여 뒷 부분에 말줄임표 적용

 

 

4) Truncate Middle

 

: Label의 영역을 고려하여 중간 부분에 말줄임표 적용

5) Truncate Head

Label의 영역을 고려하여 앞 부분에 말줄임표 적용

 

 

 UIButton > Type

1) Custom, System : 입력한 버튼타이틀 외 이미지가 자동으로 붙는 것은 없음

2) Info Light, Info Dark : i 아이콘 생성

3) Add Contact : + 아이콘 생성

4) Close : x 아이콘 생성

 

 

 UIButton > Style

아래 화면에서 좌측부터 순서대로 1) Plain 2) Gray 3) Tinted 4) Filled

 

 

 UIButton > Title, Subtitle

 

 

 UIButton > Foreground, Bakground

 

 

UITextField > Border Style

아래 화면에서 위부터 순서대로 1) none 2) line 3) bezel 4) roundedrect

 

 UITextField > Clear Button

텍스트 필드내의 입력물을 삭제하는 것에 대한 기능 상세 설정

1) never - Clear Button을 표기 X

2) whileEditing - 텍스트를 편집하는 동안 clear button 표기

3) unlessEditing - 2)번과 반대로 텍스트를 편집하지 않는 동안 clear button 표기

4) always - 텍스트 편집여부와 상관없이 언제든지 clear button 표기

※ Clear when editing begins 체크 - 텍스트 필드를 클릭하는 순간 안에 내용 전체 삭제

 

 

UIImageView > Content Mode

1) Scale To Fill - 이미지의 비율따위 상관없이, 설정한 영역에 맞추어서 이미지 표기

2) Aspect Fit - 이미지 기존비율 생각해서, 설정한 영역내에 이미지 전체가 들어가도록 fit하게 표기

3) Aspect Fill - 이미지 기존비율을 생각해서, 설정한 영역내을 이미지가 꽉 채우도록 fill하게 표기

※  Clips to Bounds 체크 - 이거 체크하면 내가 설정한 영역을 이미지가 넘어갈 경우, 넘어간 그 나머지 부분을 잘라버림

 

내가 헷갈리지 않으려고 정리한 3개 비교화면

 

UISwitch

  • State - on/off
  • On Tint - 스위치 상태가 on일 때 배경색상
  • Thumb Tint - 스위치 상태와 상관없이 저기 동그란 손잡이 색상

스위치 off상태일 경우! - thumb tint는 적용 가능하지만, on tint는 적용 안됨(당연하지, off니까)

 

UISegmentedContol

  • Selected Tint - 선택된 세그먼트를 표기하는 색상(아래에서 연보라색)
  • Segments - 세그먼트 수
  • Segment - 타이틀명이나 이미지를 설정할 세그먼트 지정하는 곳

 

 


 Version (과제 질문 및 내가 생각한 답변 정리)

Q) 동일한 프로젝트이더라도, Ios 버전에 따라 다른 ui가 나타날 수 있음. 왜 이런 차이가 생기나?

A) iOS 버전에 따라 화면의 크기가 다르기 때문에.

스토리보드상에서 특정 버전의 viewcontroller 크기를 기준으로 storyboard에서 ui 작업을 맞추어 구성했으나, 시뮬레이터를 돌리는 기기와 버전이 일치하지 않을 경우 다른 Ui가 나타날 수 있음. 

 

Q) iOS 14.0버전과 iOS 15.0 버전에서의 button 차이가 있다면 어떤 것이 있나?

A)
1) iOS 15.0 버전부터 button의 style을 지정해서 나타낼 수 있게 됨(Plain, Gray, Tinted, Filled)
- 그 이전 버전들을 고려하여 지원할 경우에는 버튼 스타일을 Default로 설정해주면 됨
2) 기존의 title 아래에 subtitle을 추가할 수 있게 됨
3) ConfigurationUpdateHandler을 사용하여 버튼 상태 변화에 따라 추가적인 설정이 가능 등등

 

 

entry point (과제 질문 및 내가 생각한 답변 정리)

Q) entry point란? 이것이 왜 필요한가?

A) C언어를 근본으로 둔 모든 애플리케이션은 메인함수(main())로부터 시작되며 이를 entry point라고 함

cpu가 각 프로그램을 시작할 때 entry point를 통해 시작하기 때문에 필요하며 모든 프로그램에는 entry point가 존재함 

 

Q) entry point가 없을 경우 어떻게 될까?

A) 과제로 작업한 아래 파일에서 ‘is initial view controller’을 해제하고 시도해봄

우선 빌드는 성공했고, 시뮬레이터 구동시 검은색 화면만 보임

 

Q) entrypoint point삭제 후 디버그 영역 확인 후, 앱의 정상적인 동작을 위해 entry-point 지정해보기!

A) entry point삭제 후 run 해봄

메인 스토리보드에서 entry point 지정이 누락된 것이냐는 문구를 참고해서, 스토리보드로 돌아가 시작화면 view를 지정함

‘is initial view controller’을 다시 선택해서 entry point를 설정하였음


 최소 버전 설정

 

과제로 작업한 프로젝트의 최소 버전을 Ios 12.0으로 설정하고 run을 해보니 오류가 났다..! (아래 사진 참고)

→ 에러메시지 참고하여 에러난 버튼들의 style을 default로 변경 후 재실행했더니 정상 작동함.

몇몇 버튼설정 관련해서 에러가 발생함

 

 

 

참고사이트

https://stackoverflow.com/questions/34215320/use-storyboard-to-mask-uiview-and-give-rounded-corners

'TIL(Today I Learned)' 카테고리의 다른 글

[TIL] 2022.07.09~10 (SeSAC iOS)  (0) 2022.07.11
[TIL] 2022.07.08 (SeSAC iOS)  (0) 2022.07.08
[TIL] 2O22.07.07 (SeSAC iOS)  (0) 2022.07.07
[TIL] 2O22.07.06 (SeSAC iOS)  (2) 2022.07.06
[TIL] 2022.07.05 (SeSAC iOS)  (0) 2022.07.05