🌱 TIL (Today I Learned)

 

피그마 강의 수강

 

[UI의 분류] -> 임의적 분류, 관점에 따라 분류가 상이해짐
- 액션(Action): 사용자가 중요한 행동을 수행할 때
- 인풋(Input): 사용자의 입력을 받을 때
- 인포메이션(Information): 서비스의 상태, 안내사항 전달
- 컨테이너(Container): 컴포넌트 다수 결합되어 특정 정보를 가공해서 하나의 템플릿으로
- 내비게이션(Naviagtion): 사용자가 페이지를 이동할 때
- 컨트롤(Control): 사용자가 설정이나 값을 수정할 때

[의사 상태(Pseudo State)]
- 컴포넌트에게도 별명이 있다?
 : 기본 자체는 유지한 채, 상황에 따라 다른 스타일을 가지는 경우가 있음

더보기

ㅋㅋㅋ 쌤이 개구쟁이 내동생~ 노래부를때 빵터짐

* 의사 상태의 개념(의사: 가상의, 가짜의)
 - 컴포넌트의 가상의 상태를 나타낼 때 사용
ex) 버튼에 마우스 오버, 버튼 클릭, 텍스트 입력 클릭, 체크 박스 클릭, 누를 수 없을 때 등 다양한 종류 
(마우스를 올리면 색상이 변하는 것도 의사 상태)

※ 설계 시 유의점
- 컴포넌트마다 사용 가능/불가 경우가 존재
ex) 버튼인데 체크된 것은 불가능, 체크박스가 링크인건 존재할 수 없음

 

[UI 만들기 실습] #1
★ 컴포넌트를 분석하고 공부할 때는 형태가 아니라 정의와 뜻에 집중!

 

더보기

1. 버튼 컴포넌트: 누름으로써 중요한 동작을 수행하는 요소
 ㄴ '액션'에 해당하는 컴포넌트
 
 1) 버튼 설계 시 유의점
 - 행동 유도성(Affodance = 어포던스)
 ㄴ 상호작용 가능 물체는 '상호 작용이 가능하다는 시각적 단서'를 제공해야 함

 -> 버튼을 설계할 때는 누를 수 있다는 시각적인 힌트를 드러내야 함.

 

 

 2) 버튼의 구조

- 컨테이너: 안에 있는 요소를 감싸고 있는 프레임

 > 버튼의 높이 = 컨테이너 안의 상하 여백 + 안에 있는 요소의 높이

 

- 라벨/레이블(Label): 버튼의 행동을 안내하는 글자(텍스트 아님)

 > UI에서 '사용자'가 입력하는 글자 = 텍스트 / 'UI'가 사용자에게 안내하는 글자 = 라벨

 

- 리딩 엘리먼트(Leading Element): 버튼 라벨보다 더 앞쪽에 있다는 뜻

ex) 우리나라는 LTR 문화권이기 때문에 왼쪽 끝에 있는 아이콘이 리딩 엘리먼트

 

- 트레일링 엘리먼트(Trailing Element): 

 > 버튼 라벨보다 더 뒤쪽에 있다는 뜻

 

3) 버튼의 종류

 * 박스 버튼(일반 버튼, 프라이머리 버튼): 일반적으로 아는 버튼, 색상이 안에 꽉 차있는 형태

  > 중요한 내용에 사용

 * 아웃라인 버튼(고스트 버튼, 엠티 버튼): 테두리가 있고 속이 비어 있는 듯한 형태

  > 살짝 덜 중요한 내용에 사용

 * 스플릿 버튼: 주요 액션과 보조 액션이 나눠져 있어 스플릿(Split, 쪼개진) 버튼이라 불림 

  > 주요 액션이 있는 상태에서 '보조' 액션을 제공해야 할 때 사용

 * 텍스트 버튼: 배경, 테두리 없이 '텍스트'로만 이루어진 버튼

  > 별로 중요하지 않은 내용에 사용

 

 4) 버튼 제작 실습 😎

- 오토레이아웃으로 버튼 만들기

 

저번 강의 때 실습했던 프라이머리 컬러 적용, 패딩 값은 4배수로 24, 16 적용

 

 

 

곡률 16으로 적용하기

 

 

 

저번 강의 때 실습했던 텍스트 스타일 적용

 

 

우클릭 > 컴포넌트 만들기

 

 

 

레이아웃 클릭 > 우측 상단 컴포넌트 만들기 아이콘 클릭

 

 

 

 

 

레이어 패널에 만들어진 컴포넌트 이름 Button으로 변경하기

 

 


 2. 텍스트필드

ㄴ 컴포넌트 종류 중 '인풋'에 해당하는 컴포넌트

*인풋: 사용자가 무언가 입력할 수 있게 하는 컴포넌트

 

  1) 텍스트필드의 구조

- 인풋 컨테이너(Input Container): 글자 입력하는 부분

- 라벨/레이블(Label): 입력해야 하는 값이 무엇인지 알려주는 텍스트

- 텍스트(Text): 사용자가 직접 입력하는 텍스트

- 리딩 엘리먼트(Leading Element): 텍스트보다 더 앞쪽에 있는 엘리먼트

- 트레일링 엘리먼트(Trailing Element): 텍스트보다 더 뒤쪽에 있는 엘리먼트

- 헬퍼 텍스트(Helper Text): 유효성 검사 결과를 보여주거나 입력해야 하는 값의 가이드라인을 제공하는 도움말

 

 2) 플레이스홀더와 밸리데이션

- 플레이스홀더

ㄴ 플레이스(자리)+홀더(지키고 있는 것) = '자리표시자'

 > 사용자가 입력해야 하는 예시 제공하는 용도로 사용

 > 사용자가 글자를 입력하기 시작하면 사라지고 글자를 모두 지울 때 다시 나타남

 

※ 사용 시 유의점

- 플레이스홀더 자리 입력값에 조건 적는 것 지양할 것.

why? 사용자가 내용을 입력하면서 '조건'을 잊을 때 작성했던 내용을 다시 지워야하는 번거로움.

 > 조건값은 헬퍼 텍스트로 사용하기 !

 

- 밸리데이션(=유효성 검사)

ㄴ 사용자가 입력한 텍스트의 유효 여부를 검사해주는 것

** 사용자는 앱을 사용하면서 달성해야 하는 '목적' 이 존재

ex) 인스타그램 -> 게시물 게시 -> 좋아요, 덧글 정상적으로 받아야 함

 > 구매나 소통의 과정을 방해하는 요소가 발생했을 때, 자연스럽게 피하거나 해결할 수 있도록 도와주는 과정

 > 적절한 문구나 안내로 사용자가 다시 행동을 완료할 수 있도록 하는 부분이 유효성 검사

 

※ 사용 시 유의점

- 오류 발생 시에도 오류처럼 보이지 않도록! 거부감을 최소화 시켜줘야 함

- 부정적인 문구보다는 최대한 긍정적인 문구로 사용자에게 해결책 안내하기

ex) 사용자 이름 형식이 맞지 않습니다. (X) -> 최소 4자 이상의 이름이 필요합니다. (O) 

 

 3) 텍스트필드 제작 실습 😎

- 오토레이아웃으로 텍스트필드 만들기

 

[내가 기억하려고 적는 진행 과정]

1. 플레이스홀더(자리표시자) 텍스트 -> 오토레이아웃 설정 -> 인풋 컨테이너로 이름 변경

2. 패딩 16 16, 채우기, 외곽선, 모서리 반경 설정

3. '라벨' 텍스트 (타이틀 폰트) -> 인풋 컨테이너 상단 배치

4. 헬퍼 텍스트 (바디 폰트) -> 인풋 컨테이너 하단 배치

5. 라벨, 인풋컨테이너, 헬퍼 텍스트 드래그 후 오토레이아웃 설정

6. 간격 4

7. 각 요소 Fill 확인, 인풋컨테이너, 텍스트 레이아웃 정렬 좌측 확인

8. 컴포넌트로 만들기

텍스트필드 제작 실습

 

 

[UI 만들기 실습] #2

 

더보기

* 컨트롤 컴포넌트: 사용자의 선택을 돕는 요소

ㄴ 여러 선택지 중 사용자가 원하는 것을 고를 수 있도록 돕는 요소

 

* 컨트롤 컴포넌트의 종류

- 체크박스, 라디오, 스위치(토글), 슬라이더

 : 슬라이더는 포함되지 않을 수도 있음 / 앞 3가지 컨트롤은 기본적으로 포함

 

* 설계 시 참고할 점

- 컨트롤 요소의 '최소 터치 영역'

ㄴ 원래 크기는 작더라도 실제 누를 수 있는 공간은 조금 더 넓게 잡는 것 필요

컨트롤 요소는 다른 UI에 비하면 크기가 매우 작아서 사용자들이 제대로 누르기에 불편할 수 있음
 > 따라서 작더라도, 그 주변으로 최소 크기 범위 생성이 필요

 

- 컨트롤 요소의 라벨

ㄴ 컨트롤 요소는 대부분 '라벨'과 같이 쓰임

 > 라벨을 누르더라도 컨트롤 요소가 작동하게 하는 것이 일반적

 > 여러 컨트롤 요소 배치 시 간격을 충분하게 주는 것 필요 (간격이 좁아서 잘못 누르는 일 없도록)

 

- 컨트롤 요소와 라벨의 정렬

ㄴ 행간을 사용하는 값으로 세로 크기를 같게 맞추면 정렬 깔끔하게 가능!

ex) font size 16px, line-height(행간) 24px -> 24px에 크기 맞추기

 

 

3. 체크박스 컴포넌트: 여러 선택지 중 원하는 선택지를 '여러 개' 선택할 수 있는 컴포넌트

ㄴ 일반적으로 '라벨'과 함께 쓰임

 

 1) 체크박스의 의사 상태: 기본적으로 2가지 의사 상태를 가짐(체크됨 / 체크되지 않음)

 ** 자세히 설계한다면 더 많은 상태를 가질 수 있음

 

 2) 체크박스의 특징

  - 체크박스는 여러개를 선택할 수 있음

  - 체크박스는 아무것도 선택하지 않을 수 있음

  - 하위 항목이 있을 때, 일부만 선택할 수도 있음

 

 3) 체크박스 제작 실습 😎

  - 


[내가 기억하려고 적는 진행 과정]

 

1. 가로/세로 24 프레임 생성 (4배수, 8배수 모두 적합한 24)

 - 폰트 기본 사이즈 16, 이 16이 가지고 있는 행간(=높이) 기본적으로 24

  > 껍데기

 

2. 20x20 프레임이 하나 더 있어야 함

 

 

쌤이 올려주신 이미지는 불러오니까 깨져서 ㅠㅠ 내가 새로 그려서 하기로..!

 

 

 

 

처음 펜을 써서 그려본 체크 모양 !! Shift를 누르고 클릭하면 직각이 된다 !!

 

 

 

3. 체크박스 컨테이너를 프레임 1 가운데에 넣고 프레임 1 채우기 색상을 없애기

 

 

 

 

 시간이 부족해서 라디오 컴포넌트는 크리스마스 지나고 !!!! 

 

 

 

피그마 디자인 과제 피드백 이후 수정

 

[피드백 이전]

더보기

- 가로형 이벤트 강조 배너

 

 

- 정사각 배너

 

 

- 기본형 알람 배너

 

 

- 확장형 알람 배너

 

 

[피드백 내용]

더보기
  • 가로형 이벤트 강조 배너
    • 폰트 good, 색 조합 크리스마스 느낌나게 잘 썼다고 칭찬받음 후후...🎄
    • CTA 버튼 위치 조정 (하단부 -> 본문 하단 중앙부)
    • 상단 왼쪽 '10일 한정 출석이벤트' 리본, 텍스트 크기 확대
    • 배경 불투명도 더 밝게 조정
    • 행간 조정

 

  • 정사각 배너
    • 상단 왼쪽 '10일 한정 출석이벤트' 리본, 텍스트 크기 확대
    • 배경 패턴 삭제, 배경 원색 브라운 계열 -> 블랙 or 회색 계열로 연하게 조정
    • 본문 하단 아이콘 크기 '가장 맛있는 선물' 크기 가로에 맞게 확대
  • 개인 추가 사항: 배경에 아무 패턴이 없어 단조로운 느낌인 것 같아 눈오는 효과 같이 도형 일부 추가

 

[피드백 이후]

 

더보기

- 가로형 이벤트 강조 배너

 

- 정사각 배너  

 

 

확실히 튜터님이 피드백 해주신 내용 반영하여 수정하니 눈에 더 확 띄는 느낌이 들었다 !! 

이미지 Fx를 활용하여 만든 산타 쓴 배민이 아이콘은 다음 과제가 있다면 더 완벽하게.. 하체까지 구현하는걸로 ㅠㅠ

정말.. 아직은 더 많은 연습이 필요할 것 같다..!

 


 

 

 

 

내일은 크리스마스여서 캠프 휴일 !!

오늘 하루도 정말 시간이 순삭된 것 같다 ㅠㅠㅠ 빨리 손에 익혀서 더 많은 디자인을 해보고 싶은 마음 가득~~~

 

오늘도 고생했다 나,, 미리 메리 크리스마스 🎄🎅🤶

+ Recent posts