'Dev/iOS'에 해당되는 글 44건

  1. 2011.10.06 UIImageView 터치 이벤트
  2. 2011.09.30 커스텀 액션 시트
  3. 2011.09.30 iOS 모달 화면에 네이게이션 바 붙이기.
  4. 2011.09.30 둥근 모서리 UIImageView 만들기
  5. 2011.09.29 iOS 모달뷰
  6. 2011.09.29 아이폰 사진 관련.
  7. 2011.09.28 테이블 셀에서 사용할 때 UIImage 와 UILabel의 정렬.
  8. 2011.09.27 iOS Provisioning Profile 만료시 갱신법.
  9. 2011.09.27 xcode 버전 관리 기능.
  10. 2011.09.23 NSMutableArray 인스턴스에 접근시 EXC_BAD_ACCESS 발생.

UIImageView 터치 이벤트

Dev/iOS 2011. 10. 6. 15:52


UIImageView를 터치했을 경우의 이벤트를 얻어야 할 경우.
UIControl을 이용해 이벤트를 얻어온다.

1. UIImageView 생성.
2. UIControl 타입의 mask 생성.
3. mask 에 imageView 자식 뷰로 추가
4. mask 에 이벤트 설정.
5. 현재의 뷰컨트롤러의 뷰에 자식뷰로 mask 추가.



    UIImage * image = [UIImage imageNamed:@"sexy.jpg"];

    UIImageView * imageView = [[[UIImageView alloc] initWithImage:image] autorelease];

    [imageView setFrame:CGRectMake(10.0f, 10.0f, 90.0f, 90.0f)];

    [imageView.layer setBorderColor:[[UIColor grayColor] CGColor]];

    [imageView.layer setBorderWidth:1.0];

    [imageView.layer setCornerRadius:10.0];

    [imageView.layer setMasksToBounds:YES];

    

    UIControl * mask = [[[UIControl alloc] initWithFrame:imageView.frame] autorelease];

    

    CGSize imageSize = imageView.frame.size;

    imageView.frame = CGRectMake(0, 0, imageSize.width, imageSize.height);

    [mask addSubview:imageView];

    

    [mask addTarget:self action:@selector(cancelButtonPush:) forControlEvents:UIControlEventTouchUpInside];

    

    [self.view addSubview:mask];

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

[링크]OpenCoverflow  (0) 2011.10.11
Tag 설정과 tag를 이용한 view 검색  (0) 2011.10.06
커스텀 액션 시트  (0) 2011.09.30
iOS 모달 화면에 네이게이션 바 붙이기.  (0) 2011.09.30
둥근 모서리 UIImageView 만들기  (0) 2011.09.30
:

커스텀 액션 시트

Dev/iOS 2011. 9. 30. 20:18


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

Tag 설정과 tag를 이용한 view 검색  (0) 2011.10.06
UIImageView 터치 이벤트  (0) 2011.10.06
iOS 모달 화면에 네이게이션 바 붙이기.  (0) 2011.09.30
둥근 모서리 UIImageView 만들기  (0) 2011.09.30
iOS 모달뷰  (0) 2011.09.29
:

iOS 모달 화면에 네이게이션 바 붙이기.

Dev/iOS 2011. 9. 30. 16:53


맞는지 정확히 확인 안됨.
추후 글 수정 요함. 


새로운 개체를 추가 하기 위한 모달 상자에 "저장"과 "취소" 버튼이 있는 네비게이션 바가 필요했다. 툴바인가 했는데 툴바는 아닌것 같다.
그래서 네비게이션 바를 붙여봤다.

id addViewDialog = [[[AddObjectViewController alloc] init] autorelease];
UINavigationController * nav = [[[UINavigationController alloc] initWithRootViewController:addViewDialog] autorelease];
[self presentModalViewController:nav animated:YES];

NewViewController * picker = [[NewViewController alloc] init];

UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:picker];
[self presentModalViewController:nav animated:YES];

[picker release];
[nav release];

버튼이나 해당 액션 관련 코드를 덧붙여 준다. 

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

UIImageView 터치 이벤트  (0) 2011.10.06
커스텀 액션 시트  (0) 2011.09.30
둥근 모서리 UIImageView 만들기  (0) 2011.09.30
iOS 모달뷰  (0) 2011.09.29
아이폰 사진 관련.  (0) 2011.09.29
:

둥근 모서리 UIImageView 만들기

Dev/iOS 2011. 9. 30. 15:31


#import <QuartzCore/QuartzCore.h>

...

    UIImage * image = [UIImage imageNamed:@"sexy.jpg"];

    UIImageView * imageView = [[[UIImageView alloc] initWithImage:image] autorelease];

    

    [imageView setFrame:CGRectMake(10.0f, 10.0f, 100.0f, 100.0f)];

    [imageView.layer setBorderColor:[[UIColor orangeColor] CGColor]];

    [imageView.layer setBorderWidth:6.0];

    [imageView.layer setCornerRadius:10.0];

    [imageView.layer setMasksToBounds:YES];    

    [scrollView addSubview:imageView];

     
 ------------------------
또 다른 방법으로는 UIView를 상속 받아 
UIBeizerPath 를 이용해 구현하는 방법이 있다.

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

커스텀 액션 시트  (0) 2011.09.30
iOS 모달 화면에 네이게이션 바 붙이기.  (0) 2011.09.30
iOS 모달뷰  (0) 2011.09.29
아이폰 사진 관련.  (0) 2011.09.29
테이블 셀에서 사용할 때 UIImage 와 UILabel의 정렬.  (0) 2011.09.28
:

iOS 모달뷰

Dev/iOS 2011. 9. 29. 20:18


모달뷰에 관련된 내용.
링크 : hyukmin's blog

 --------
:

아이폰 사진 관련.

Dev/iOS 2011. 9. 29. 16:24


라이브러리에 사용자 사진 추가하기.

UIImage * image = [UIImage imageNamed:@"picture.jpg"];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);


UIImagePickerController 클래스 사용법
미니의 프로그래밍 이야기 

 

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

둥근 모서리 UIImageView 만들기  (0) 2011.09.30
iOS 모달뷰  (0) 2011.09.29
테이블 셀에서 사용할 때 UIImage 와 UILabel의 정렬.  (0) 2011.09.28
iOS Provisioning Profile 만료시 갱신법.  (0) 2011.09.27
xcode 버전 관리 기능.  (0) 2011.09.27
:

테이블 셀에서 사용할 때 UIImage 와 UILabel의 정렬.

Dev/iOS 2011. 9. 28. 20:03


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

iOS 모달뷰  (0) 2011.09.29
아이폰 사진 관련.  (0) 2011.09.29
iOS Provisioning Profile 만료시 갱신법.  (0) 2011.09.27
xcode 버전 관리 기능.  (0) 2011.09.27
NSMutableArray 인스턴스에 접근시 EXC_BAD_ACCESS 발생.  (0) 2011.09.23
:

iOS Provisioning Profile 만료시 갱신법.

Dev/iOS 2011. 9. 27. 21:16


아이폰 프로그램 개발시 프로파일이 사용기간이 3개원인듯 하다.
사용을 하다보면 만료가 얼마 남지 않았다는 메시지가 뜬다.
만료가 되면 디바이스에서 프로그램을 테스트 할 수 없게 된다.

갱신 방법은 다음과 같다.
Xcode의 메뉴중 "Window"-> "Organizer"를 실행 후 좌측의 Provisioning Profile을 선택 하면 우측 하단 부분에 Automatic Device Provisioning 체크 상자를 체크 한 후 우측의 Refresh 버튼을 클릭한다.

개발자 아이디와 비밀번호를 입력한다.
:

xcode 버전 관리 기능.

Dev/iOS 2011. 9. 27. 20:28


xcode4에 있는 버전 관리 기능을 사용해 본다.

프로젝트 생성시 폴더를 지정하는 화면에서 보면 다음과 같이 "Create local git repository for this project"라는 옵션이 보이는데 해당 체크 상자를 활성화(체크) 해준다.


그러면 해당 프로젝트에 version control 기능이 활성화 된다.
프로젝트의 아무 파일이나 수정 후 저장한다. 내 경우 NSLog를 이용해 더미 코드를 한줄 넣어봤다.


수정된 파일을 저장을 하면 "프로젝트 네비게이터"상에서 해당 파일의 오른쪽에 "M" 아이콘(Modified)이 보인다. 파일이 수정되었다는것을 나타내는것 같다.

해당 파일에 "우클릭"을 하면 "Source Control" 메뉴가 보이고 해당 메뉴에 마우스를 올리면 관련 메뉴들이 나타난다. 이중 "Commit Selected Files..."메뉴를 선택하여 리파지토리에 저장해 보겠다.


상단위 툴바의 메뉴중 "Show the version editor"를 이용하여 수정 되는 내용과 비교 및 수정 할 수 있다.

 

 
 
Discard Changes...을 선택 하면 현재 수정된 내용을 버리고 이전의 내용으로 복구가 된다.
이상 간단한 설정법을 알아봤으며, 자세한 내용은 다음의 iOS Developer Library의 Xcode 4 Transition Guide 를 통해 확인 하시길 바란다. 
:

NSMutableArray 인스턴스에 접근시 EXC_BAD_ACCESS 발생.

Dev/iOS 2011. 9. 23. 17:53


Model 클래스에서 데이터 베이스의 내용을 읽어 NSMutableArray 로컬 변수에 채운후 클래스 멤버 변수로 대입 후 다른 뷰 콘트롤러에서 해당 배열에 접근을 시도 하였더니 EXC_BAD_ACCESS 에러가 발생 되었다.
원인은 데이터 베이스에서 읽어온 데이터를 저장 중이던 배열을 release해준것으로 보인다.

@interface Model : NSObject {
  NSMutableArray _array;
}
@property (retain) NSMutableArray * _array;
@end 

@implemention Model

...

- (void)readDatabase {
  ...
  NSMutableArray localArray = [[NSMutableArray alloc] initWithCapacity:sqlite3_data_count(statement)];

  // database에서 읽어온 데이터를 localArray에 채워 넣는다.

  _array = localArray;
  [localArray release]; 

}

위와 같이 release 코드를 삭제 해주면 해달 오류는 발생하지 않는데 아직 정확한 원인을 이해하지 못하겠다.
아직 Object-C 에서 메모리 관리가 정확히 어떻게 되는지 감이 안온다.
메모리 관리에 관련된 부분을 좀 더 자세히 공부해봐야겠다.

뭔진 모르지만 C언어의 그것과 굉장히 헷갈리고 매치가 되질 않는데 뭘가를 잘못 생각하고 있는듯 하다.

위와 같은 원인에 대하여 아시는 분 있으시면 좀 알려주세요 !!
 
: