레이블이 storyboard인 게시물을 표시합니다. 모든 게시물 표시
레이블이 storyboard인 게시물을 표시합니다. 모든 게시물 표시

2018년 10월 7일 일요일

Xcode storyboard 리팩토링

Main.storyboard에 ViewController를 계속해서 디자인 하다 보면
성능이 별로 좋지 않은 mac에서는 랜더링 속도가 현저하게 떨어진다.

ViewController에 image등을 올리는 작업이 늘어 나면 늘어 날 수록 더이상 편집 자체가
너무 느려 하기 어려워 질 수도 있다.


이렇게 하나의 Main.storyboard에 모든 ViewController를 때려 박지 않고
여러개의 storyboard 파일로 나누어 segue를 연결 할 수 있다.


스토리보드 리팩토링 방법

1. 새로운 스토리 보드 파일을 추가 한다.
2. 기존 Main.storyboard 파일과 새로 만든 스토리 보드 파일을 보기 좋게 그룹으로 생성 하여 추가 한다.
3. Main.storyboard 파일에서 일부 연결된 ViewController들을 선택 하여 Cmd + X로 자른다.
4. 새로 추가된 스토리 보드 파일에 붙여 넣기를 한다.
5. 새로 추가된 스토리 보드에 첫번째 ViewController를 is Initial View Controller로 체크 한다.
6. Main.storyboard 파일에서 새로 추가된 스토리 보드와 segue를 연결 한다.





Main.storyboard를 간단하게 바꾸고 segue에 연결은 스토리 보드 레퍼런스로 한다.


Xcode 10에서는 라이브러리 화면이 팝업으로 나오게 되어 있다. Cmd + Shift + L




두번째 항목이 스토리 보드 레퍼런스 이다.

이런한 과정을 통해 프로젝트 성격에 맡도록 storyboard 파일을 나누면
각각의 스토리 보드에서 적은수의 View Controller를 처리 하도록 하여 Xcode에서 보다 쾌적 하게 작업 할 수 있다.

2015년 12월 8일 화요일

UIButton 배경이미지를 원 텍스쳐를 가지고 늘려서 버튼 만들기

무슨 말인고 하니

원으로된 png 리소스를 가지고 왼쪽 둥글게 가운데 텍스트 오른쪽 둥글게
이렇게 생긴 버튼으로

가변 길이로 버튼을 만들려고 하면 어찌 해야 하는가 이다.

Images.xcassets 를 선택 하면 다음과 같은 원 이미지가 있다고 할 때


메뉴에서 Editor -> Show Slicing


아래 처럼 Start Slicing 버튼이 보인다.


원하는 자르기 방향을 선택 하고



그중 하나를 선택 하면 나뉘어진 크기를 설정 할 수 있다.



그리고 UI Button에 이미지를 background로 설정 하면 storyboard 상에서는 찌그러진 상태
그대로 나오지만 runtime에는 원하는 예쁜 상태로 나온다.

2015년 12월 6일 일요일

xcode interface builder 에서 hex값 (RGB) 칼라 입력 하기

이번 미션에 GUI 디자이너님이 hex 값으로 색상을 남발 한다.
그럴때마다. 이걸 코드로 해야 하나 어쩌나 ..  ㅠㅠ

인터페이스 빌더에서 색상을 설정 할때 RGB hex 값을 어떻게 입력 하나...




인터페이스 빌더에서 칼라의  상하 표시를 누른다음 Other를 선택

첫번째 칼라휠, 두번째 칼라 슬라이더 ..... 이렇게 상단에 아이콘이 있다.

칼라 슬라이더 두번째 것을 고른다 기본은

Gray Scale Slider인데 이것을 RGB Sliders로 선택하면
위와 같은 그림에 Hex Color # 입력 화면이 있다.
여기에 hex 코드 값을 3바이트를 입력 하면 원하는 색상으로 선택이 가능 하다.

2015년 1월 12일 월요일

iOS altertView가 아닌 커스텀 팝업 view 만들기

스토리 보드를 처음으로 사용하다 보니 삽질을 하고 있다.
popover는  iPad에서만 되는 것으로 보인다.

iPhone app은 모든 viewController가 전체 화면으로 구현 해야 하는 것 같다.

storyboard에 어떻게 view 만을 정의 하고 그 것을 현재 viewController에 view에 추가 하느냐?

결론은 안되더라

현재 알바로 의뢰 받아 작업중인 앱에 디자인 가이드에서는 표준 alertView가 아닌
팝업 창이 디자인 되어 있으며

이 팝업 창이 뜰때 기존에 보이던 viewController의 전체 view는 dark색이 65% alpha 값으로
가려져야 하는게 미션이다.

구현 방법은 정답은 아닐수 잇으며 여러 삽질에 삽질 끝에 구현한 방법이다.


스토리 보드에 추가 하려는 viewController의 디자인을 마무리 한다.

 스토리 보드에 새로운 viewController를 추가 한 다음 어떠한 방법으로도 iphone에서는
pop을 할수 없음을 깨달았다. 그러므로 바로 포기하고 새파일을 만든다.
오래된 방법인 xib를 추가한다.

디자인을 한다.
포인트는 View를 추가해서 투명도 65%에 검정 뷰를 하나 추가 한다.

소스를 추가 해서 NotiView라는 클래스 파일과 헤더 파일을 작성 한다.

xib를 초기화 하는 init 코드가 필요 하다.
- (id) initWithCoder:(NSCoder *)aDecoder {
    if(self = [super initWithCoder:aDecoder]) {
        [[NSBundle mainBundle] loadNibNamed:@"NotiView" owner:self options:nil];
        [self addSubview:view];
    }
    return self;

}


닫기 버튼을 구현 하였다면 버튼을 IBAction을 연결 하고 다 음과 같은 코드로
뷰를 보이지 않게 할 수 있다.
#pragma -IB Action -

- (IBAction)CloseButtonClick:(id)sender {
    [self setHidden:YES];

}



스토리 보드로 돌아 와서 추가하려는 viewController에 view를 추가 하고 가장 하위 바닥에
viwe를 넣는다.
그리고 그 view의 클래스 파일을 NotiView로 연결 한다.


Hidden을 YES로 설정 하고 NotiView 를 IBOutlet으로 연결 하여 코드에서 Hidden을 NO
로 하여 팝업 창이 나타나는 효과를 내준다.