본문 바로가기

iOS library 004 - Shimmer 라이브러리, Facebook 페이지 앱 적용 효과 Shimmer 라이브러리가 공개되어서, 테스트해보고 포스팅해봅니다. Facebook 페이지 앱에서 사용된 효과라고 하던데, 저는 아직 페이지 앱을 써본 적이 없어서..;; 한 번 사용해봐야 할 것 같네요. 아무튼 Shimmer 라이브러리는 Github에서 다운로드 할 수 있는데요. 주소는 다음과 같습니다. https://github.com/facebook/Shimmer 물론 cocospods에도 올려졌더라구요. cocospods을 사용 하실 수 있는 분들은 이 방법이 더 편하겠죠? 아무튼 테스트 해봤습니다. 저는 직접 소스를 다운로드해서, 프로젝트에 추가하는 방식으로 했구요. 아래 보시면 shimmer라는 그룹을 만들고, 거기에 다운로드한 소스에서 필요한 것들을 추가했죠 :) 스토리보드에서는 할 일이 없.. 더보기
iOS - Date (날짜, 시간) iOS 개발할 때, 날짜나 시간을 사용할 경우 사용하는 소스에 대해서 간단하게 정리해봐요. //date ==================================================================== NSDateFormatter *tNow = [[NSDateFormatter alloc] init]; [tNow setDateFormat:@"yyyyMMddHH"]; NSString *tNowString = [tNow stringFromDate:[NSDate date]]; NSString *mString = [tNowString substringWithRange:NSMakeRange(4, 2)]; NSString *dString = [tNowString substringWithRan.. 더보기
iOS - segmented example (세그먼트 간단 예제) 이번에는 iOS 개발할 때 Segmented Control을 사용하는 간단한 예제를 작성해보려구요. 빠르게 시작!!!! 1. 프로젝트 생성 저는 프로젝트 생성 할 때 Single View Application을 주로 선택해서 시작해요. 간단한 부분이니깐 그림으로 때우죠. 2. 스토리보드 작업 일단 프로젝트를 만들고, Main.storyboard에 들어가보시면 빈 화면이 나오겠죠? :) 세그먼트를 테스트하기 위해서 View에 segmented control과 label 각 1개 씩 뷰로 옮겨줍니다. 그림은 클릭해서 보시길 추천드려요 :) 그럼 이제 소스코드와 연결하기 위해서 Assistant editor를 선택하고 아래 그림과 같이 연결해줍니다. 방법은 소스코드와 연결하기 위한 오브젝트를 선택하고, Ctr.. 더보기
iOS - UITableView 각 셀(Cell) 높이 설정 TableView를 Dynamic Prototype으로 설정하여 사용하는 경우 셀 row 값에 따라 높이를 다르게 할 때 사용하는 함수는 아래와 같습니다. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 높이 값; } 함수 내부에 입력 인자인 indexPath와 if 문을 활용하면 각 셀별로 높이 값을 서로 다르게 줄 수 있겠죠? 예를 들면 아래와 같이 말이죠. if(indexPath.row == 1) return 10; 더보기
iOS - 네비게이션 타이틀 (Navigation title) iOS에서 제공되는 Navigation에 타이틀(제목)을 코딩으로 입력하기 위해서 아래와 같은 방법을 사용할 수 있습니다. UILabel * titleView = [[UILabel alloc] initWithFrame:CGRectZero]; titleView.backgroundColor = [UIColor clearColor]; titleView.font = [UIFont boldSystemFontOfSize:20.0]; titleView.text = @"title string......"; self.navigationItem.titleView = titleView; [titleView sizeToFit]; 간단하게 소스를 살펴보면.. 일단 Label을 하나 만들구요. Label의 이름을 titleVie.. 더보기
iOS library 003 - ProgressHUD (progress ...) 이번에 사용해 볼 라이브러리는 ProgressHUD입니다. 다운로드는 cocoapods(http://cocoapods.org) 를 이용해서 프로젝트에 설정하는 것을 추천드리지만. GitHub에서 다운로드 하셔서 추가하셔도 상관없습니다. ProgressHUD의 GitHub 주소는 https://github.com/relatedcode/ProgressHUD 입니다. :) ProgressHUD는 사용 방법이 너무나 간단해요. 1. ProgressHUD의 헤더파일을 임포트 시켜주시구요. #import "ProgressHUD/ProgressHUD.h" 2. ProgressHUD 사용하는 2줄만 이용하셔도 됩니다. [ProgressHUD show:@"Please wait..."]; ......... .......... 더보기
쓸만한 노트 앱 (note app) - Simplenote 모바일에서 노트 앱 어떤 거 쓰시나요? 가장 대표적인 것이 에버노트겠죠? :) 저도 에버노트 자주는 아니여도, 가끔씩 쓰고 있는데 계속 조금 무거워 지는 느낌이 들고 있습니다. 데스크탑에서도 설치해두었지만, 실제로는 잘 안쓰게 되는 것 같네요. 찾아보니 쓸만한 노트 앱이 있어서 간단하게 포스팅 하려구요. 앱 이름은 Simplenote 입니다. 이름 그대로 매우 심플하고, 노트 기능에만 집중되어 있어서 좋네요 :) 앱스토어에서 Simplenote 검색하시면 되구요. 안드로이드, iOS 모두 지원해주고 있네요. 하지만 조금 아쉬운 점은 윈도우는 아직 지원을 하지 않네요. 다만 웹 브라우저를 통해서 접근하는 것은 가능하구요. 아래 그림은 심플노트 홈페이지(http://simplenote.com/) 입니다. h.. 더보기
iOS 개발에 필요한 사이트 정리 제목은 거창하네요. iOS 개발에 필요한 사이트 정리 라니.. 그냥, 제가 개발하면서 자주 들어가보고, 앞으로 들어가서 활용 할 사이트 몇 가지 정리하는 정도입니다. 1. cocoapods - http://cocoapods.org/ 요즘 이거 안쓰면 안되죠? ㅎ cocoapods - http://cocoapods.org/ cocoapods는 iOS 오픈소스 라이브러리가 쭉 모여 있는 곳으로 생각하시면 되겠습니다. pod을 통해 오픈소스 라이브러리를 검색하고, iOS 프로젝트에 쉽게 추가하고, 삭제하거나, 최신 버전으로 업데이트 하는 등의 작업을 매우 쉽게 도와주는 정말 없어서는 안되는 사이트입니다. 활용 방법에 대해서는 여러 블로거 분들이 자세하게 정리하셨고, cocoapods guide (http://.. 더보기
iOS - int, double, float -> 문자열(NSString) 변환 방금 전의 포스팅에서 문자열(NSString) -> int, double, float 변환에 대해서 간략하게 정리했습니다.문자열(NSString) -> int, double, float 변환 : http://ngee.tistory.com/229 그럼 이번엔 반대로, int, double, float를 NSString으로 변환하는 것을 해보려구요. 즉, 123.456 -> "123.456" 으로 만드는 것이죠. 소스 double d2 = 123.456; float f2 = 123.456; int i2 = 123; NSString *s1 = [NSString stringWithFormat:@"%f", d2]; NSString *s2 = [NSString stringWithFormat:@"%f", f2]; N.. 더보기
iOS - 문자열(NSString) -> int, double, float 변환 ios에서 문자열로 되어 있는 숫자를 int, double, float으로 변환하는 것에 대해서 간략하게 정리하려구요. 문제는 이거죠. "123.456" 이라는 문자열을 어떻게 숫자로 받을 것인가 !!! 다시 한 번 말하면 "123.456" -> 123.456 으로 만드는 것이죠. 예제는 다음과 같습니다. 소스 NSString *string1 = @"123.456"; double d1 = [string1 doubleValue]; float f1 = [string1 floatValue]; int i1 = [string1 intValue]; NSLog(@"%f, %f, %d", d1, f1, i1); 실행결과123.456000, 123.456001, 123 음.. floatValue에서는 맨 뒤에 1이 붙어.. 더보기
iOS - switch example (스위치 간단 예제) 이번에는 iOS switch 예제 간단한 것을 해보려고요. 스토리보드를 활용하도록 하겠습니다. 1. 예제를 위해 single view로 프로젝트를 하나 생성한다. 2. 스토리보드 (Main.storyboard)를 선택하고 스위치와 라벨을 하나 씩 View에 마우스로 끌어서 추가한다. 그럼 아래와 같은 화면이 나오겠죠? 자 그럼 위 그림에서 오른쪽 상단에 있는 빨간박스 부분을 클릭하시면 화면이 분활되면서 소스코드와 UI를 연결할 수 있습니다. 3. UI의 소스코드 연결 소스코드 중에서 viewController의 헤더를 선택하시구요. 아래 그림과 같이요. 그 다음에 스위치에 마우스 올리시고, Ctrl 키 누르고 끌어서 소스코드로 이동합니다. 그럼 아래와 같은 화면이 나타납니다. 스위치는 액션만 테스트하려고.. 더보기
iOS - 문자열(NSString) 결합(더하기, 합치기) NSString 문자열을 결합하려면 stringByAppendingString 이라는 함수를 사용하면 됩니다. 간단한 예제 NSString *string1 = @"aaa"; NSString *string2 = @"bbb"; NSString *string3 = [string1 stringByAppendingString:string2]; NSLog(@"%@", string3); 로그로 출력되는 string3는 aaabbb 가 되겠죠. 문자열 비교 : http://ngee.tistory.com/223 더보기
iOS - 문자열(NSString) 같은지 비교 NSString 문자열이 서로 같은지 비교하기 위해서 "==" 을 사용하시면 안되죠? 간단한 예제로 포스팅 하나 하려구요. NSString *string1 = @"hahaha"; NSString *string2 = @"yoyoyo"; NSString *string3 = @"hahaha"; if([string1 isEqualToString:string2]) { NSLog(@"AAAA"); } else if([string1 isEqualToString:string3]) { NSLog(@"BBBB"); } https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/N.. 더보기
iOS - 버튼 이벤트 처리하기, 스토리보드(storyboard) 이용 iOS 개발 완젼 기본적인 내용으로 하나 더 추가합니다. 버튼 이벤트 처리하는 것인데요. 이 포스팅의 목적은 스토리보드에서 버튼 만들고, 버튼이 터치 될 때 로그를 출력하도록 하는 것입니다. 이것만 이해하면 버튼을 눌렀을 때 함수를 호출한다던지, 다른 View로 이동한다던지, 등등을 할 수 있겠죠 ㅎㅎ 그림들은 누르면 커져요. 1. 프로젝트 생성하고, view에 버튼을 추가하기 - xCode를 실행하고 new Project 눌러서 하나의 프로젝트를 생성하도록 합니다. 아래 그림과 같이 말이죠. 간단한 내용을 테스트 하는 것이니깐 Single View Application으로 선택하시고, 적당한 내용 기입해서 프로젝트를 생성합니다. 2. 스토리보드에서 View에 Button 추가하고, 소스코드에 연결하기... 더보기
iOS library 002 - MBProgressHUD (progress ...) iOS library .... 은 iOS에서 쓸만하다고 생각되는 라이브러리를 소개하고, 간단하게 만들어보는 ... 그런.. 거에요. 첫 번째는 progress 였구요. 이번에도 progress에요 :) 하하;;; 절대 다른 라이브러리들이 길어서, 포스팅이 길어질까바, 짧은 것 찾아내서 하는거에요. 암튼 이번 라이브러리는 MBProgressHUD 라는 것인데요. MIT 라이센스로 사용할 수 있습니다. 아래는 git 주소구요. https://github.com/jdg/MBProgressHUD 음 그럼 준비하기 부터 보시죠. 1. 준비하기 - git에 가셔서 zip 파일로 다운로드 하십니다. - 압축을 적당한 곳에 풀어버립니다. - 소스 중에 MBProgressHUD.h 와 MBProgressHUD.m을 사용.. 더보기
iOS - textfield 터치하면 내용 지우기 iOS에서 제공되는 textfield를 클릭하면 미리 작성된 텍스트를 지우고 싶을 땐 다음과 같이 설정하시면 편해요. 먼저 1번과 같은 그림을 보시면요 Fig. 1. storyboard 캡춰. 간단한 로그인 View를 만들 때에요. 위에 박스는 email address라고 적어두고, 아래는 password라고 적어둬야, 사용자들이 편하게 터치해서 로긴 할 수 있겠죠?.. 근데 그냥 텍스트만 넣어두면, 사용자는 터치하면, 내용을 지우고 이메일을 적어야 하는 불편함이 있자나요. 그럴 때, 위 그림에도 나와 있지만, Clear Button을 Appears while editing으로 변경하시고, Clear when editing begins를 선택해두시면 코딩으로 구현 할 필요 없이, 잘 작동합니당. Fig... 더보기