'공부'에 해당되는 글 25건

  1. 2010.10.02 View-Based Application 실행 과정 1
  2. 2010.10.02 아이폰개발 용어 1 1
  3. 2010.04.18 padding, border, margin 1
  4. 2010.04.09 텍스트 속성
  5. 2010.04.04 폰트
  6. 2010.04.03 값과 단위
  7. 2010.04.03 상속
  8. 2010.04.03 구체성
  9. 2010.04.02 가상클래스와 가상요소 선택자 4
  10. 2010.04.02 문서 구조 선택자
2010. 10. 2. 20:35
먼저 이 글은 모두 Head First iPhone Development 책을 읽고 내게 필요한 부분, 중요한 부분, 느낀점등을 잊지 않기위해, 나중에 글쓴이가 봤을 때 왜 이렇게 했었는지 등을 다시 한번 확인하기 위해 작성한것임을 밝힙니다.

1. 맨처음 main()이 실행된다.
2. main() 함수가 UIApplicationMain()을 실행한다.
UIApplicationMain()은 Info.plist 파일을 이용해서 어떤 NIB파일을 로드할지 알아낸다.
3. NIB파일에는 AppDelegate와 ViewController의 인스턴스가있는데, 코코아 프레임워크는 먼저 ViewController의 인스턴스를 생성한후, 이 인스턴스가 ViewController.xib파일을 로드하도록 한다[각주:1]. (File's Owner)
4.  ViewController의 인스턴스는 File's Owner가 되고 NIB파일에 들어있는 항목들을 소유하게 된다. (NIB파일안에 있는 컴포넌트의 인스턴스들이 ViewController인스턴스의 아웃렛에 연결된다)
5. 결국 File's Owner와 컨트롤이 연결되어서 이벤트를 발생시키면, ViewController(File's Owner)의 인스턴스의 메소드를 호출하게된다.

* File's Owner (파일 소유자 객체)

맞나..?
  1. *실지로 File's Owner는 단지 포인터 역할을 한다. NIB파일이 로드된 후, 이 NIB파일을 로드한 객체를 가리키게 된다. 이 경우 NIB파일을 로드하는 객체가 ViewController의 인스턴스이므로 File's Owner가 ViewController의 인스턴스를 가리키게 된다. [본문으로]

'공부 > iPhone' 카테고리의 다른 글

아이폰개발 용어 2  (0) 2010.10.02
프로토콜 (Protocol)  (0) 2010.10.02
피커 (Picker)  (0) 2010.10.02
애플 API문서 보기  (0) 2010.10.02
아이폰개발 용어 1  (1) 2010.10.02
Posted by terebyte
2010. 10. 2. 20:16
먼저 이 글은 모두 Head First iPhone Development 책을 읽고 내게 필요한 부분, 중요한 부분, 느낀점등을 잊지 않기위해, 나중에 글쓴이가 봤을 때 왜 이렇게 했었는지 등을 다시 한번 확인하기 위해 작성한것임을 밝힙니다.

Performance : 시뮬레이터에서 테스트 불가능한것들
IBoutlet : 코드와 화면상의 UI 요소들을 연결하는데 사용하되는 키워드
View : 아이폰 앱의 각 화면을 나타내는 용어
Cocoatouch : 아이폰 앱을 만드는데 사용하는 프레임 워크
Resources : 앱의 이미지파일을 관리하는데 사용하는 폴더 이름
Interface Builder : 아이폰 앱 UI 디자인을 위한 IDE
Frameworks : 아이폰 앱 개발을 위해서 제공하는 라이브러리
Objective-C : 아이폰 앱 개발에 사용되는 언어
Simulator : 맥에서 아이폰 앱을 테스트
IBaction : 코드에서 이벤트를 받아서 무언가 하게 해주는 키워드
XCode : Objective-C 소스코드를 편집할 수 있는 아이폰 앱 개발 통합 환경
Mobile : 아이폰과 같은 종류의 디바이스
NIB : 뷰로 생성하기 위해서 사용되는 파일의 이름

'공부 > iPhone' 카테고리의 다른 글

아이폰개발 용어 2  (0) 2010.10.02
프로토콜 (Protocol)  (0) 2010.10.02
피커 (Picker)  (0) 2010.10.02
애플 API문서 보기  (0) 2010.10.02
View-Based Application 실행 과정  (1) 2010.10.02
Posted by terebyte
2010. 4. 18. 06:20
margin
top right bottom left

margin-top
margin-right
margin-bottom
margin-left

border-style
top right bottom left

border-top-style
border-right-style
border-bottom-style
border-left-style

border-width
top right bottom left

border-top-width
border-right-width
border-bottom-width
border-left-width

border-color
top right bottom left

border-top-color
border-right-color
border-bottom-color
border-lift-color

border
width style color

border-top
border-right
border-bottom
border-left

padding
top right bottom left

padding-top
padding-right
padding-bottom
padding-left

'공부 > Cascading Style Sheets' 카테고리의 다른 글

텍스트 속성  (0) 2010.04.09
폰트  (0) 2010.04.04
값과 단위  (0) 2010.04.03
상속  (0) 2010.04.03
구체성  (0) 2010.04.03
Posted by terebyte
2010. 4. 9. 11:23
들여쓰기와 수평정렬

텍스트 들여쓰기

text-indent
인라인요소에는 사용할수없으며, 블록요소에만 사용 가능하다

p { text-indent : 4em;}
h1 { text-indent :- 4em;}
음수값을 사용할때 주의할점은 첫단어들이 브라우저 창의 좌측경계에 의해 잘릴수도 있다는것이다.
이럴경우 음수 마진을 받아들이도록 마진이나 약간의 패딩을 함께 사용하면된다.
h1 { text-indent : -4em; padding-left : 4em;}
퍼센트 값을 포함해 모든 길이단위를 text-indent에 사용할 수 있다.

text-align
마찬가지로 블록 레벨 요소에만 사용 가능하다
left : 왼쪽정렬
right : 오른쪽 정렬
center : 중앙 정렬

text-align : center;가 <center>태그와 똑같다고 생각하는 사람이있는데
<center>태그는 텍스트뿐만 아니라 테이블같은 요소도 중앙정렬시키고,
text-align은 오직 텍스트만 조정가능하며 특히 인라인요소에만 적용 가능하다.

justify : 수평정렬
텍스트의 각 행의 양쪽끝이 부모요소의 경계선에 위치하게되어 단어와 문자 사이 공간이 조절되어 각 행들의 길이가 같아진다.
하지만 브라우저에 따라 문자사이에 여백을 추가하기도하고 단어사이에만 별도의 여백을 추가하는등 표현방법이 다르기 때문에 주의해야한다.

어간 (단어 사이의 간격)
word-spacing

자간 (글자 사이의 간격)
letter-spacing

text-transform
uppercase : 대문자로 변경
lowercase : 소문자로 변경
capitalize : 각 단어의 첫 번째 문자만 대문자로 변환

text-decoration
underline : 밑줄을 추가한다
overline : 윗줄을 추가한다
line-through : 중간선을 추가한다
blink : 깜빡거리는 텍스트를 표현한다

text-decoration은 상속이 되지 않는다.

텍스트 그림자 설정
text-shadow
default : 그림자 효과 없음
길이를 두개또는 세개를 삽입하는데 처음 두 개의 길이 값은 텍스트와 그림자 사이의 결정하고,
옵션 값인 세번 째 길이 값은 그림자의 블러 반지름을 정의한다.

text-shadow : blue 5px 0.5em;

길이를 음수 값으로 설정하면, 그림자는 텍스트의 좌측과 상단 방향으로 나타나게 된다.

화이트스페이스 다루기

white-space
pre : whitespace를 무시하지 않고, 줄을 바꿀수있지만 자동으로 바뀌지 않는다.
nowrap : whitespace를 무시하고, 줄을 바꿀수 없으며 자동으로 바뀌지도 않는다.
pre-wrap : whitespace를 무시하지 않고, 줄을 바꿀수있으며 자동으로 바뀌기도 한다.
pre-line : whitespace를 무시하고, 줄을 바꿀수있으며, 자동으로 바뀌기까지한다.

'공부 > Cascading Style Sheets' 카테고리의 다른 글

padding, border, margin  (1) 2010.04.18
폰트  (0) 2010.04.04
값과 단위  (0) 2010.04.03
상속  (0) 2010.04.03
구체성  (0) 2010.04.03
Posted by terebyte
2010. 4. 4. 05:09
폰트패밀리

Serif 폰트
폭이 가변적이다. (폰트의 모든 문자가 너비가 다르게 되어있다)
serif는 소문자l의 위아래나 대문자 A하단의 작은 돌기처럼 각 문자의 끝에있는 장식을 말한다.
예) Times, Georgia, New Century Schoolbook 등

Sans-serif 폰트
폭이 가변적이다.
하지만 serif가 없다.
예) Helvetica, Geneva, Verdana, Arial, Univers 등

고정폭 폰트
고정폭 폰트는 폭이 일정하다.
보통 프린터의 출력문이나 오래된 컴퓨터화면, 타자기의 효과를 나타낼때 사용된다.
고정폭 폰트는 모든 문자가 같은 너비를 가지고 있다.
이 폰트는 serif가 있을 수도 있고 없을 수도 있다.
특정 폰트가 같은 너비를 가지게 되면 serif의 유무와 상관없이 고정폭 폰트로 분류된다.
예) Courier, Courier New, Andale Mono 등

Cursive 폰트
손으로 직접 쓴 효과를 주기 위해 사용된다.
대부분 곡선으로 이루어져 있고 serif보다 과장된 장식을 갖고있다.
예) Zapf Chancery, Author, Comic Sans 등

Fantasy 폰트
특정한 기준으로 정의내리기 어렵다.
예) Western, Woodblock, Klingon 등

예) h1 { font-family : serif;}
      h1태그의 글씨폰트를 serif 폰트패밀리에 해당하는 폰트들중 하나로 표시한다.

폰트패밀리 지정하기

예) h1 { font-family : Georgia;}
      h1태그의 글씨폰트를 Georgia폰트로 바꾼다.

하지만 사용자 에이전트가 'Georgia'라는 폰트를 찾을수 없다면, 기본 폰트로 표현된다.
하지만 폰트 패밀리와 결합해서 사용한다면 정확하진 않지만 비슷하게는 표시할수있다.

예) h1 { font-family : Georgia, serif;}
      h1태그의 글씨폰트를 Georgia폰트로 바꾸고, 만약 Georgia폰트가 존재하지 않는다면 다른 serif폰트를 이용해 표시한다.

왼쪽부터 차례대로 우선순위에 따라 적용된다.
폰트 패밀리 선언에서 폰트의 이름에 공백이 들어가있거나, #이나 $등의 특수기호가 들어가 있는경우는 인용부호 ' 로 묶어줘야 한다.

예) h1 { font-family : 'New Century Schoolbook', 'Karrank%';}

만약 인용부호로 붂어주지 않는다면, 사용자 에이전트가 나머지 부분은 처리하지만 특정 폰트부분은 완전히 무시하게 될 가능성이 있다.
만약 폰트패밀리의 이름과 동일한 특정한 폰트를 사용하고자할때도 인용부호로 묶어줘야한다.

예) h1 { font-family : 'serif', serif;}
      h1태그의 글씨폰트를 'serif'라는 이름의 특정한 폰트로 바꾸고, 만약 'serif'라는 이름의 특정한 폰트가 없다면 serif패밀리의 다른 폰트를 이용해서 표시한다.


폰트 웨이트

절대크기 : normal, bold
상대크기 : bolder, lighter
예) h1 { font-weight : bold;}
      h1태그의 글씨를 Bold체로 바꾼다.

폰트 사이즈

절대크기 : xx-small, x-small, small, medium, large, x-large, xx-large
상대크기 : larger, small

폰트 스타일

italic, oblique, normal, inherit
oblique는 폰트자체를 기울이며, italic은 기울임꼴의 폰트를 사용한다.
italic이 없을경우 oblique를 대체사용가능하지만 oblique가 없을경우 italic을사용할수는 없다. 
폰트변형

font-variant : small-caps;
소형 대문자를 사용한다.

이모든것을 <font>에 넣어서 사용할수있다.
font에는 font-style, font-variant, font-weight, font-size, font-family 등등이 들어가며
앞의 세가지는 순서가 바뀌거나 생략해도 돼지만 뒤의 두가지는 생략도 불가능하며 순서도 뒤바뀌면 안된다.

시스템 폰트의 사용
운영체제와 잘어울리는 폰트
caption : 버튼처럼 글자가 있는 컨트롤에 사용되는 폰트 스타일
icon : 아이콘에 이름을 지정할 때 사용되는 폰트 스타일
ment : 드롭다운 메뉴나 메뉴 리스트에 사용되는 폰트스타일
message-box : 대화 상자에 사용되는 폰트 스타일
small-caption : 작은 컨트롤에 이름을 지정할 때 사용되는 폰트 스타일
status-bar : 윈도우의 상태 바에 사용되는 폰트 스타일

폰트 다운로드
@font-face {font-family : "폰트명";
src : url(경로명);}

'공부 > Cascading Style Sheets' 카테고리의 다른 글

padding, border, margin  (1) 2010.04.18
텍스트 속성  (0) 2010.04.09
값과 단위  (0) 2010.04.03
상속  (0) 2010.04.03
구체성  (0) 2010.04.03
Posted by terebyte
2010. 4. 3. 04:24
색상

브라우저에서 인식할수있는 이름있는 색상
rgb(0~100%, 0~100%, 0~100%)
rgb(0~255, 0~255, 0~255)
#000000~#FFFFFF

길이

절대길이단위

인치(in)
일반적으로 미국에서 사용되는 인치
센티미터(cm)
일반적으로 세계적으로 사용되는 센티미터로 1인치는 2.54센티미터이고, 1센티미터는 0.394인치이다.
밀리미터(mm)
일반적으로 세계적으로 사용되는 밀리미터로 1인치는 25.4밀리미터이고, 1밀리미터는 0.0394인치이다.
포인트(pt)
인쇄술의 표준 길이로 1인치는 72포인트이다. 12포인트로 지정된 텍스트의 대문자 높이는 1/6인치이다.
파이카(pc)
인쇄에서 사용하는 용어로, 1파이카는 12포인트이다. 1인치는 6파이카이다.

상대길이단위

em (em-height)
em은 font-size의 값과 동일한 값으로 설정된다. 만약 폰트 크기에 em 단위가 사용될경우 부모요소의 폰트 크기를 기준으로 em이 계산된다.
ex (x-height)
사용하는 폰트의 소문자 x의 높이를 기준으로 한다.
px (pixel)
픽셀을 기준으로 한다.

URL
절대경로
url(프로토콜://서버/경로명)

상대경로
url(경로명)

url과 괄호 사이에 공백이 있어서는 안됀다.
예) url (경로명)

키워드
어떤 값을 특정한 단어로 설명할때 사용한다.
예) none, underline, normal 등

inherit
속성의 값을 부모 요소의 값과 동일하게 만든다.

각도 값
음수값이 허용되며 각각의 단위는 0~360사이의 도로 변환된다.
도(deg)
그레이드(grad)
라디안(rad)

시간값
음수값이 허용되지 않으며, 100ms는 0.1s와 동일하다.
밀리초(ms)
초(s)

주파수 값
음수값이 허용되지않으며, 값의 단위는 대소문자를 구분하지 않는다.
헤르츠(Hz)
메가헤르츠(MHz)

'공부 > Cascading Style Sheets' 카테고리의 다른 글

텍스트 속성  (0) 2010.04.09
폰트  (0) 2010.04.04
상속  (0) 2010.04.03
구체성  (0) 2010.04.03
가상클래스와 가상요소 선택자  (4) 2010.04.02
Posted by terebyte
2010. 4. 3. 03:50
조상 element에 특정 속성이 선언되면 더이상 상속받을 element가 없을때까지 모든 자손 element에 상속이 된다.


하지만 몇 가지 속성은 상속되지 않는다.
예) margin, padding, background, border 등

상속이 될경우 구체성이 아예없어서 0조차 가지지 않는다. (구체성 0,0,0,0보다 아래)

캐스케이드

모든 선언을 중요도에 따라 분류한다.
선언에는 author, reader, user agent 세가지의 출처가 있다.
일반적인상황에서는 author 가 reader보다 우선한다. 하지만 !important로 선언된 reader 의경우는 author를 포함한 다른 스타일보다 우선한다. user agent는 기본적으로 author와 reader보다 우선순위가 낮다.
구체성에 따라 우선순위를 분류한다.
선언이 뒤에위치할수록 우선순위가 높다.

'공부 > Cascading Style Sheets' 카테고리의 다른 글

폰트  (0) 2010.04.04
값과 단위  (0) 2010.04.03
구체성  (0) 2010.04.03
가상클래스와 가상요소 선택자  (4) 2010.04.02
문서 구조 선택자  (0) 2010.04.02
Posted by terebyte
2010. 4. 3. 03:35
선택자의 구체성은 0,0,0,0처럼 4개의 부분 값으로 표현된다.

선택자에 있는 모든 id 속성값에 0,1,0,0 값이 추가된다.
선택자에 있는 모든 class 속성값과 기타 속성, 가상 클래스에 0,0,1,0 값이 추가된다.
선택자에 있는 모든 요소와 가상 요소에 0,0,0,1 값이 추가 된다.
조합자나 전체 선택자는 구체성에 아무런 영향을 주지 못한다.

구체성의 값은 좌측에서 우측으로 선별된다.

inline style은 1,0,0,0 이 적용된다.


important 선언

important선언은 일반적인 선언과 비교할때 항상 우위에 있으며, important선언 끼리의 비교는 구체성에따라 결정된다.
예) p.death { color : black !important; background : red;}
 

'공부 > Cascading Style Sheets' 카테고리의 다른 글

값과 단위  (0) 2010.04.03
상속  (0) 2010.04.03
가상클래스와 가상요소 선택자  (4) 2010.04.02
문서 구조 선택자  (0) 2010.04.02
선택자  (0) 2010.04.02
Posted by terebyte
2010. 4. 2. 18:13
정적인 가상 class

링크에 대한 가상 class

:link
아직 방문하지않은 앵커
:visited
이미 방문한 앵커

예) a:visited { color : red;}
      방문한 앵커의 색깔을 red로 바꾼다.

첫번째 자식 요소에 대한 가상 class

:first-child
아무 element나 첫 번재 자식관계에 해당하는 element를 선택한다

예) <div>
      <a href="#">click</a>
      </div>
      
      a:first-child { font-weight : bold;}
      아무 element(여기선 div element)의 첫번째 자식 관계인 element가 a 이므로 해당하는 a의 글씨에 bold효과를 준다.

언어를 이용한 가상 class

:lang
사용된 언어를 기반으로 선택한다. 특정속성 선택자인 |= 와 같은방식으로 동작한다.

예) *:lang(en) { font-style : italic;}
      영어로 작성된 모든 elemenet에 italic효과를 준다.


동적인 가상 class

:focus
현재 focus를 갖고있는 element
:hover
마우스 포인터가 위치해 있는 element
:active
입력에 의해 active된 element

예) a:link { color : navy;}
      방문하지않은 앵커의 색깔을 navy로 한다.
      a:visited { color : gray;}
      방문한 앵커의 색깔을 gray로 한다.
      a:hover { color : red;}
      현재 마우스포인터가 올라와있는 앵커의 색깔을 red로 바꾼다.
      a:active { color : yellow;}
      입력에 의해 앵커가 활성화된경우 앵커의 색깔을 yellow로 바꾼다.

      처음 두개는 정적인 가상 class를 이용했고, 아래 두가지는 동적인 가상 class를 이용한다.
      요즘의 추세는 [link-visited-focus-hover-active] 순으로 바뀌고 있지만,
      일반적으로는 [link-visited-hover-active]순서로 사용하는것을 권장한다.

동적인 가상 class는 element의 종류에 상관없이 적용된다.

가상 class는 조합해서 사용이 가능하다

예) a:link:hover { color : maroon;}
      방문하지 않은 링크 위에 마우스가 위치할때 색깔을 maroon으로 변경한다.

가상요소 선택자

첫 번째 글자에 스타일 지정

:first-letter

예) p:first-letter { color : white;}
      p태그의 첫 번째 글자색을 white로 바꾼다.

첫 번째 줄에 스타일 적용하기

:first-line

예) p:first-line { color : red;}
      p태그의 첫 번째 줄 글자색을 red로 바꾼다.

:first-letter와 :first-line은 inline elemement에선 사용이 불가능하고 block element에만 사용할수 있다.

또한 모든 가상요소는 선택자의 끝에서만 사용될 수 있다.

예) p:first-line strong
      가상요소가 끝에오지않고 앞에왔으므로 유효하지 않다.

요소의 앞,뒤에 스타일 적용하기

:before
element앞에 효과를 적용한다.
:after
element뒤에 효과를 적용한다.

예) h1:before { content : "*"}
      h1앞에 *을 덧붙인다.
      h1:after { content : "!"}
      h1뒤에 !을 덧붙인다.

'공부 > Cascading Style Sheets' 카테고리의 다른 글

상속  (0) 2010.04.03
구체성  (0) 2010.04.03
문서 구조 선택자  (0) 2010.04.02
선택자  (0) 2010.04.02
대체 스타일시트  (0) 2010.04.02
Posted by terebyte
2010. 4. 2. 17:37



부모-자식 관계
element가 한 단계로 관계되어있는경우를 부모-자식관계라고 한다.
예) head-title, body-p, p-strong, ol-li

조상-자손 관계
element가 두 단계 이상으로 관계되어있는경우를 조상-자손관계라고 하며, 그때부터 부모-자식관계는 이루어질수 없다.
예) html-li, body-a, ul-ol

자식선택자 -> >
p > strong {color : red;}
p태그 아래의 strong태그의 색깔을 red로 바꾼다.

자손선택자 -> 공백
p a {font-weight : bold;}
p태그아래의 a태그의 글씨에 bold효과를 준다.

인접형제선택자 -> +
p + h1 {color : blue;}
p태그와 그에 인접한 형제관계인 h1태그의 색깔을 blue로 바꾼다.


'공부 > Cascading Style Sheets' 카테고리의 다른 글

구체성  (0) 2010.04.03
가상클래스와 가상요소 선택자  (4) 2010.04.02
선택자  (0) 2010.04.02
대체 스타일시트  (0) 2010.04.02
link 태그  (1) 2010.04.02
Posted by terebyte