'xcode'에 해당되는 글 21건

  1. 2011.11.01 UILabel 관련 내용.
  2. 2011.10.28 Table View 관련
  3. 2011.10.28 NSDate를 이용하여 D-Day 계산.
  4. 2011.10.24 iOS 텍스트 관련.
  5. 2011.10.24 인터페이스 빌더에서 오브젝트의 경계선 보이게 하기
  6. 2011.10.22 graph 관련 라이브러리
  7. 2011.10.22 tapku 달력 라이브러리 튜토리얼.
  8. 2011.10.21 xcode Update 후 빌드가 오류.
  9. 2011.10.20 NSDate NSDateComponents
  10. 2011.09.23 iOS Coverflow Control

UILabel 관련 내용.

Dev/iOS 2011. 11. 1. 11:52



UILabel에 여러개의 라인 사용하기

Multiple lines of text in UILabel


핵심 내용은
textLabel.lineBreakMode = UILineBreakModeWordWrap;
textLabel.numberOfLines = 0;

Interface builder를 이용할 경우
number of lines를 0으로 설정하고 텍스트에 엔터키 입력시 (Alt+Enter)를 이용한다.




'Dev > iOS' 카테고리의 다른 글

NSLog 함수 이름 관련 매크로.  (0) 2011.11.04
UIWebView 관련.  (0) 2011.11.01
UITextView  (0) 2011.11.01
Table View 관련  (0) 2011.10.28
HTML5로 아이폰앱 만들기  (0) 2011.10.28
:

Table View 관련

Dev/iOS 2011. 10. 28. 18:21



테이블 배경에 패턴 형식으로 이미지 넣기.

NSString *backgroundPath = [[NSBundle mainBundle] pathForResource:@"background" ofType:@"jpg"];
UIImage *backgroundImage = [UIImage imageWithContentsOfFile:backgroundPath];
UIColor *backgroundColor = [[UIColor alloc] initWithPatternImage:backgroundImage];
self.tableView.backgroundColor = backgroundColor;
[backgroundColor release];


뷰 컨트롤러의 뷰 배경에 이미지 넣고 테이블 배경 투명하게 하기.


anniversaryTableView = [[AddAnniversaryTableViewController alloc]

initWithStyle:UITableViewStylePlain];

//테이블 뷰의 배경색을 투명으로 지정합니다.

anniversaryTableView.view.backgroundColor = [UIColor clearColor];

anniversaryTableView.view.opaque = YES;

anniversaryTableView.delegate = self;

anniversaryTableView.tableView.allowsSelectionDuringEditing = YES;

//뷰 컨트롤러의 뷰에 배경 이미지를 지정합니다.

self.view.backgroundColor =

[UIColor colorWithPatternImage:

[UIImageimageNamed:@"anniversary_background.png"]];

anniversaryTableView.view.frame = CGRectMake(9010230450);


//그리고 뷰 컨트롤러의 뷰 위에 테이블 뷰 컨트롤러의 뷰를 붙입니다.

[self.view addSubview:anniversaryTableView.view];






 

'Dev > iOS' 카테고리의 다른 글

UILabel 관련 내용.  (0) 2011.11.01
UITextView  (0) 2011.11.01
HTML5로 아이폰앱 만들기  (0) 2011.10.28
NSDate를 이용하여 D-Day 계산.  (0) 2011.10.28
iOS 텍스트 관련.  (0) 2011.10.24
:

NSDate를 이용하여 D-Day 계산.

Dev/iOS 2011. 10. 28. 01:35


NSDate * date = [NSDate dateWithNaturalLanguageString:@"0000-00-00"];
NSDate * dDay = [NSDate dateWithNaturalLanguageString:@"0000-00-00"];

NSDateComponents * com = [[NSCalendar currentCalendar] components:NSDayCalendarUnit
                                                                                           fromDate:date 
                                                                                                toDay:dDay
                                                                                              options:0]; 
NSLog(@"day = %d", [com day]);
 

출처 : http://blog.daum.net/dmz7881/8873170

 

'Dev > iOS' 카테고리의 다른 글

Table View 관련  (0) 2011.10.28
HTML5로 아이폰앱 만들기  (0) 2011.10.28
iOS 텍스트 관련.  (0) 2011.10.24
인터페이스 빌더에서 오브젝트의 경계선 보이게 하기  (0) 2011.10.24
graph 관련 라이브러리  (0) 2011.10.22
:

iOS 텍스트 관련.

Dev/iOS 2011. 10. 24. 23:13


Quartz 2D 텍스트 : 정보 영재 카페

iOS에 폰트 추가하기
출처 : Jeonglim So
h



 
:

인터페이스 빌더에서 오브젝트의 경계선 보이게 하기

Dev/iOS 2011. 10. 24. 13:00


인터페이스 빌더를 이용해 UI를 구성하는데 각 컨트롤? 오브젝트? 들의 위치가 잘 안보여서 불편하다.
메뉴 중에 찾아보니, 다음 메뉴를 활성화 하면 경계선이 보인다.

Editor -> Canvas -> Show Bounds Rectangles

 

'Dev > iOS' 카테고리의 다른 글

NSDate를 이용하여 D-Day 계산.  (0) 2011.10.28
iOS 텍스트 관련.  (0) 2011.10.24
graph 관련 라이브러리  (0) 2011.10.22
tapku 달력 라이브러리 튜토리얼.  (0) 2011.10.22
xcode Update 후 빌드가 오류.  (0) 2011.10.21
:

graph 관련 라이브러리

Dev/iOS 2011. 10. 22. 03:07


:

tapku 달력 라이브러리 튜토리얼.

Dev/iOS 2011. 10. 22. 02:58


:

xcode Update 후 빌드가 오류.

Dev/iOS 2011. 10. 21. 00:46


xcode 를 iOS5 에 맞추어 4.2로 올렸다.
그런데 잘 컴파일 더된 소스에서 에러가 발생.

Apple Mach-O Linker Error
 

와 함께 경고들이 5개 정도 나타났다.
구글에 검색해본 결과 다양한 원인이 있는걸로 보인다.
타겟 디바이스 설정이니, 컴퍼일러 설정, 프로젝트 클린 후 재빌드 하라니...

내 경우에는 링크되던 위치가 4.3에서 5.0으로 변경되어 링크가 정상적으로 되질 않아 발생된 오류로 보인다.

해결 방밥은 경로를 다시 설정해 주는 것으로 정상적으로 빌드가 되었다.
네비게이터에서 프로젝트 파일 선택 후 타겟을 해당 프로젝트로 선택- Build Settings에서 Library Search Paths를 검색해서 경로를 변경해준다.


빌드하면 정상적으로 완료.

ps. 버전마다 라이브러리가 계속 달라지는게 아닐것 같은데 왜 기존에 사용하던 링크가 깨지도록 폴더를 변경하는지 이해가 되질 않는다. 아니면 매크로와 같은것으로 상대 경로를 지정하도록 해주어야 할것 같은데, 내가 방법을 모르는 것인다... 하여튼 iOS 버전 올라가고 xcode 업그레이드 할 때마다 이런 현상이 있는것 같아 상당히 불편하다. 아직 내가 맥쪽 프로그래밍툴에 익숙치 않아서 일까? Visual Studio 사용할때도 종종 있기야 했지만... 변환같은 기능으로 원만하게들 했던것 같은데... 하여튼 불필요한 시간낭비로 생각된다.


 

'Dev > iOS' 카테고리의 다른 글

graph 관련 라이브러리  (0) 2011.10.22
tapku 달력 라이브러리 튜토리얼.  (0) 2011.10.22
NSDate NSDateComponents  (0) 2011.10.20
테이블 화면이 안나타는 현상.  (0) 2011.10.20
NSDate 데이터 조작 방법.  (0) 2011.10.18
:

NSDate NSDateComponents

Dev/iOS 2011. 10. 20. 14:33


NSDate중 날짜 부분만을 변경 하거나 시간 부분만을 변경할 일이 필요해졌다.
NSDate에서 직접 변경은 불가능.
다음과 같은 방법으로 변경 해야한다. 

    
NSCalendar * cal = [NSCalendar currentCalendar];
 
    NSCalendarUnit unit = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
 
    NSDateComponents * comps = [cal components:unit  fromDate:birthDate];
 
    NSDateComponents * newComps = [cal components:unit fromDate:time];
    
    // 날자 부분을 변경해야 할 경우.
    [comps setYear:newComps.year];
    [comps setMonth:newComps.month];
    [comps setDay:newComps.day];

    // 시간 부분을 변경해야 할 경우. 
    [comps setHour:newComps.hour];
    [comps setMinute:newComps.minute];
    
    [self setBirthDate:[cal dateFromComponents:comps]];
    [self.tableView reloadData];
 
    
    [comps release];
    [newComps release];
    [cal release];

------ 위 코드 대로 하면 프로그램이 죽는다. -> release하는 코드 삭제 후 정상 동작한다. 아직 메모리 관리에 관련되 충분한 이해가 없다.


* NSDate로 부터 year, month, day 에 해당하는 int값 얻기.

NSDate *today = [NSDate date];

NSDateFormatter *dateFormatter = [[NSDateFormatter allocinit];

NSLocale *locale               = [[NSLocale allocinitWithLocaleIdentifier:@"en_US"];

[dateFormatter setLocale:locale];

[locale release];

// Get year

[dateFormatter setDateFormat:@"yyyy"];

int year = [[dateFormatter stringFromDate:today] intValue];

// Get Month

[dateFormatter setDateFormat:@"MM"];

int month = [[dateFormatter stringFromDate:today] intValue];

// Get Day

[dateFormatter setDateFormat:@"dd"];

int day = [[dateFormatter stringFromDate:today] intValue];

[dateFormatter release];




------------

출처 : Bingsoo blog ( http://bingsoo.com/blog/?p=3708 )

NSDate의 시간 값 초기화/비교

Friday, December 10th, 2010

NSDate의 date method로 현재 날짜를 얻거나 UIDatePick의 date로 설정한 날짜를 얻어오는 경우, time부분을 옵션에서 꺼 놓았다 해도 현재 시각이 기록되는 문제가 발생한다. 두 개의 NSDate의 차이를 계산하는 경우 시간 때문에 정확한 계산이 이루어지지 않는데, 아래와 같은 방법으로 해결할 수 있다.

NSDate *date1, *date2가 있을 때

?
1
2
3
4
5
6
7
8
[gregorian rangeOfUnit:NSDayCalendarUnit
             startDate:&date1
              interval:NULL
               forDate:date1];
[gregorian rangeOfUnit:NSDayCalendarUnit
             startDate:&date2
              interval:NULL
               forDate:date2]; 

를 사용하면 각각 변수의 시간 정보가 그 날의 시작시간(beginning of the day)로 초기화된다. 최종 적으로

?
1
2
3
4
5
6
7
8
int result = 0;
NSCalendar *gregorian =
    [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 
result =  [[gregorian components:NSDayCalendarUnit
                                   fromDate:date1
                                     toDate:date2
                                        options:0] day];

를 통해 시간 값이 상관 없이 두 NSDate 사이에 며칠의 차이가 있는지 구해낼 수 있다.


'Dev > iOS' 카테고리의 다른 글

tapku 달력 라이브러리 튜토리얼.  (0) 2011.10.22
xcode Update 후 빌드가 오류.  (0) 2011.10.21
테이블 화면이 안나타는 현상.  (0) 2011.10.20
NSDate 데이터 조작 방법.  (0) 2011.10.18
[링크]OpenCoverflow  (0) 2011.10.11
:

iOS Coverflow Control

Dev/iOS 2011. 9. 23. 14:55


프로젝트에 iTunes에서 음악을 재생하면 나타나는 앨범 재킷들처럼 Coverflow 를 삽입하는 내용을 정리한다.
원문 : iPhone Coverflow Tutorial : Adding Tapku To Xcode4 Project 



 Devin Ross란 사람이 만든 Tapku 라는 라이브러리를 사용한다. (Free library)
download
 
1. View-based application iphone 프로젝트를 생성한다.
2. Tapku library 를 프로젝트로 복사한다. 
3. 복사후 해당 폴더 안으 TapkuLibrary.xcodeproj 파일을 프로젝트의 framework group에 드래그 앤 드롭한다.
4. 'TapkuLibrary' 폴더 아래의 'TabkuLibrary.bundle' 파일을 프로젝트의 Supporting Files group에 드래그 앤 드롭한다. 대화 상자가 나타나면 "Create Folder References"를 선택 하고 "Copy items"는 체크를 해제 한후 'Finish'를 클릭한다.
5. Core Animation & MapKit frameworks를 프로젝트에 추가한다.
 - Project navigator에서 project file을 선택
 - targets list 에서 해당 target을 선택
 - Build Phases tab을 선택 후 Link Binary With Libraries 를 확장한다.
 - '+'버튼을 클릭해서 'QuartzCore.framework'와 'MapKit.framework'을 추가한다.
6. Target Dependencies에 Tapku library 추가
 - 'Target Dependencies'를 확장
 - Tapku Xcode project에서 TapkuLibrary를 추가
7. libTapkuLibrary.a추가
 - Target Build Phases 의 'Link Binary With Libraries'섹션에서 '+'버튼을 클릭해 'libTapkuLibrary.a'를 추가한다.
8. Build Settings의 'Header Search Paths'에 '$(SRCROOT)/Coverflow/Tapku/src'를 추가해 준후 Done. (자신의 프로젝트에 알맞도록 변경 할것)
9. Linker 섹션 아래 'Other Linker Flags'에 '-ObjC'와 'all_load' flag추가 후 Done.
10. Tapku 폴더의 src/Frameworks/ 위치에 있는 TouchJSON library를 추가한다.
 - TouchJSON폴더를 frameworks group에 드래그 앤 드롭 한다.
 - 대화상자가 나타나면 copy item checkbox 를 선택한다.

설정 완료.

뷰 컨트롤러의 헤더. ----

#import <UIKit/UIKit.h>
#import <TapkuLibrary/TabkuLibrary.h>

@interface XXXViewController : UIViewController <TKCoverflowViewDelegate, TKCoverflowViewDataSource>
{
    TKCoverflowView * coverflow;
    NSMutableArray * covers;
}
@property (retain, nonatomic) TKCoverflowView * coverflow;

@end

뷰 컨트롤러의 구현 파일. -----
- (void)viewDidLoad
{
    [super viewDidLoad];

    covers = [[NSArray arrayWithObjects:
        [UIImage imageNamed:@"aaaa.png"], [UIImage imageNamed:@"bbbb.png"], nil] retain];

    coverflow = [[TKCoverflowView alloc]  initWithFrame:CGRectMake(0, 0, 480, 300)];
    coverflow.coverflowDelegate = self;
    coverflow.dataSource = self;
    [self.view addSubview:coverflow];
    [coverflow setNumberOfCovers:50];
}
 
** 추가로 datasource 와 view delegate 메소드들을 구현해줘야 한다. 데모는 landscape로 회전되어 있는다.
project download
 
이상. 프로그램 소스는 코드에서 복사한 내용이 아니라 오탈자가 있을수 있으니, 소스 코드를 다운로드 하여 확인.
: