//팝오버와 네비게이션 그리고 붙일 뷰를 선언
UIPopoverController* _popoverCntrlr;
UINavigationController *nav;
SarchMemberViewController* sarchViewController;
//초기화 후에 붙여준다. 네비게이션을 붙여 줄 경우는 상단에 타이틀 바 부분이 생기며 바로 뷰를 붙이는경우는 뷰가 바로 붙는다.
sarchViewController = [[SarchMemberViewController alloc]init];
nav = [[UINavigationController alloc]initWithRootViewController:sarchViewController];
_popoverCntrlr = [[UIPopoverController alloc]initWithContentViewController:nav];
//팝오버 실행
CGRect arrow = CGRectMake(1,15,1,1); //화살표의 크기와 위치 세팅
[_popoverCntrlr setPopoverContentSize:CGSizeMake(327, 569)]; //크기를 정해줌
[_popoverCntrlr presentPopoverFromRect:arrow inView:sender permittedArrowDirections:UIPopoverArrowDirectionRight animated:YES]; //팝오버 보이기
//팝오버 숨기기
[_popoverCntrlr dismissPopoverAnimated:YES];
//팝오버를 사용시 쓸 수 있는 델리게이트 메서드
//팝오버가 닫힐 때 실행되는 메서드
-(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController{
}
//화면 밖 영역을 터치했을때 호출되는 메서드
-(BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController{
return YES;
}
팝오버에 버튼을 붙이고 싶을 경우 팝오버에 붙일 뷰 부분에 버튼을 선언한다.
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
UIButton *trueBtn = [UIButton buttonWithType:UIButtonTypeCustom];
trueBtn.titleLabel.font = [UIFont systemFontOfSize:15.0f];
[trueBtn setTitle:@"완료" forState:UIControlStateNormal];
[trueBtn setBackgroundImage:[UIImage imageNamed:@"btn_popup_right_nor.png"] forState:UIControlStateNormal];
[trueBtn setBackgroundImage:[UIImage imageNamed:@"btn_popup_right_sel.png"] forState:UIControlStateSelected];
[trueBtn addTarget:self action:@selector(trueBtnClick) forControlEvents:UIControlEventTouchUpInside];
[trueBtn sizeToFit];
UIBarButtonItem *trueBtnItem = [[[UIBarButtonItem alloc] initWithCustomView:trueBtn] autorelease];
[self.navigationItem setRightBarButtonItem:trueBtnItem];
UIButton *canselBtn = [UIButton buttonWithType:UIButtonTypeCustom];
canselBtn.titleLabel.font = [UIFont systemFontOfSize:15.0f];
[canselBtn setTitle:@"취소" forState:UIControlStateNormal];
[canselBtn setBackgroundImage:[UIImage imageNamed:@"btn_popup_left_nor.png"] forState:UIControlStateNormal];
[canselBtn setBackgroundImage:[UIImage imageNamed:@"btn_popup_left_sel.png"] forState:UIControlStateSelected];
[canselBtn addTarget:self action:@selector(trueBtnFalse) forControlEvents:UIControlEventTouchUpInside];
[canselBtn sizeToFit];
UIBarButtonItem *canselBtnItem = [[[UIBarButtonItem alloc] initWithCustomView:canselBtn] autorelease];
[self.navigationItem setLeftBarButtonItem:canselBtnItem];
}
'iPhone' 카테고리의 다른 글
텍스트뷰 포커스 이동 이벤트, 텍스트뷰 클릭 이벤트 (0) | 2012.05.24 |
---|---|
직렬화 간단 사용 예제 (0) | 2012.05.11 |
lable NSString 만큼 늘리기, lable 폰트 조절 (0) | 2012.05.11 |
타겟 액션 (Target - Action) (0) | 2011.09.19 |
TextField 사용 후 iPhone 키패드 내리기 (0) | 2011.09.16 |