[IPhone 09.01]06. About of View
2010. 9. 1. 15:50ㆍIPhone/Basic
반응형
아이폰은 전체적의 구성을 뷰라는 개념으로 구성되어 있고 그 뷰라는 게념은 포토샵이나 일러스트를 해본사람은 알겠지만 레이어와 같은 구조로 이루어져 있습니다.
뷰에는 뷰의 컨트롤러인 UIViewController가 있으며 일반적인 뷰를 제외하고도 Alert View와 Menu가 있습니다.
1.일반적인 View
생성할때에는 UIView *view;로 생성하고 [self.view addSubview:view];로 뷰를 추가해주면 된다.
삭제할때는 [view removeFromSuperview]; 삭제가 되며
목록을 얻을때 [상위뷰 subviews];
뷰의 순서를 바꾸는 방법 [상위뷰 exchangeSubviewAtIndex:n1 withSubviewAtIndex:n2];
뷰의 프레임의 위치와 크기를 조절하는방법은 각 좌표를 이용하는데 (60.60)의 위치에 가로 50 세로 50픽셀의 프레임을 만들고 싶을때 CGRectMake(60,60,50,50)하면 좌표값과 사이즈가 입력된것이다. 그래서 뷰의 초기 프레임 사이즈를 정의할때에는 다음과 같이 하며 추가로 그 뷰의 배경색도 변형하는 방법이다.
-(void)newView() { UIView *view; view =[[UIView alloc]initWithFrame:CGRectMake(xpoint,ypoint,sizex,sizey)]; view.backgroundColor=[UIColor redColor]; [self.view addSubview:view]; } |
만약에 첫 생성이 아닌 뷰의 위치만 옮기고 싶다면 [view setVenter:CGPointMake(x,y)];로 나타내면 뷰의 중심점을 기준으로 x,y자표가 이동이 가능하게 된다.
UIViewController에는 몇가지 기본적인 위임 메소드가 있다.
-(void)viewDidLoad : 뷰가 메모리에 로드될 때 호출 된다. -(void)viewDidAppear:(BOOL)animated :뷰가 화면에 나타나고나서 호출된다. -(void)viewDidDisappear:(BOOL)animated :뷰가 화면에서 사라지가 나서 호출된다. -(void)viewDidUnload: 뷰가 완전히 제거되고 나서 호출된다. |
2.Alert View
AlertView는 일반적으로 사용하는 경고창 알림창이다. 이 뷰는 모서리가 둥글게 처리된 파란색의 반투명창이고 흰색의 글자로만 쓰이는 뷰이며 기초의 형태를 사용자의 마음대로 설정하지는 못하는 단점을 가지고 있으나 유용으로 꼭 필요한 기능중 하나이다!!
이뷰는 UIAlertViewDelegate를 위임 받습니다.
UIAlertView *alert =[[UIAlertView alloc]initWithTitle:@"헤드" message: @"본문" delegate:self cancelButtonTitle:@"취소버튼" otherButtonTitles:@"다른버튼",nil]; [alert show]; [alert release]; |
만약 버튼을 누르게 된다면 이값은 인덱스 값으로 메시지를 보내게 되며 상위를 0부터 순차적으로 1식 올라가게 되어 있습니다.
인덱스값은 -(void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)btnIdx 메소드로 메시지가 전송됩니다. 혹시 AlertView로 작업을 행하고 싶을 경우 저기에서 다음과 같이 해주면 됩니다.
-(void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)btnIdx { switch(btnIdx) { case 0: // 1번째버튼을 눌렀다 break; case 1: // 1번째버튼을 눌렀다 break; case 2: // 1번째버튼을 눌렀다 break; } } |
3. Menu
메뉴는 Alert과 비슷하지만 조금 다른점은 아래서 올라온다는 점이 되겠습니다. 이뷰는 UIActionSheetDelegate를 위임받습니다.
UIActionSheet *menu =[[UIActionSheet alloc]initWithTitle:@"헤드" delegate:self cancelButtonTitle:@"취소버튼" destructiveButtonTile:@"빨산색버튼" otherButtonTitles:@"다른버튼",nil]; [menu showInView:self]; [menu release]; |
메뉴또한 Alert와 같이 누른 버튼의 값이 보내어지며 값은 다음과 같이 메시지가 보내어 질수 있습니다.
-(void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)btnIdx { switch(btnIdx) { case 0: // 1번째버튼을 눌렀다 break; case 1: // 1번째버튼을 눌렀다 break; case 2: // 1번째버튼을 눌렀다 break; } } |
반응형
'IPhone > Basic' 카테고리의 다른 글
[IPhone 09.03]08. 문자열의 메모리 해제와 관련해서 도움되는 것 (0) | 2010.09.03 |
---|---|
[IPhone 09.01]07. 설정값 저장하기 (0) | 2010.09.01 |
[IPhone 09.01]05. Touch (0) | 2010.09.01 |
[IPhone 09.01]04. TableView (0) | 2010.09.01 |
[IPhone 08.30]03. Objective - C의 특징 (0) | 2010.08.30 |