2012-08-28 26 views
1

我想從酥料餅的觀點 這裏返回主視圖我解釋你回主視圖從酥料餅的觀點

-(void)tapAction1:(UITapGestureRecognizer*) sender 
{ 

Clicked = sender.view.tag-500; 
DemoViewController *sign = [[DemoViewController alloc]initWithNibName:@"DemoViewController" bundle:nil]; 


[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:1.0]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES]; 

UIViewController* popoverContent = [[UIViewController alloc]init]; 
UIView* popoverView = [[UIView alloc] 
         initWithFrame:CGRectMake(0, 0, 100, sign.view.frame.size.height)]; 
popoverView.backgroundColor = [UIColor clearColor]; 
popoverContent.view = popoverView; 
    [popoverView addSubview: sign.view]; 

//resize the popover view shown 
//in the current view to the view's size 
popoverContent.contentSizeForViewInPopover = CGSizeMake(sign.view.frame.size.width, sign.view.frame.size.height); 

//create a popover controller 
UIPopoverController* popover = [[UIPopoverController alloc] 
           initWithContentViewController:popoverContent]; 
CGRect popoverRect = [self.view convertRect:[sender.view frame] 
            fromView:[sender.view superview]]; 

popoverRect.size.width = MIN(popoverRect.size.width, 500); 
popoverRect.origin.x = popoverRect.origin.x; 
//popoverRect.size.height = ; 
//present the popover view non-modal with a 
//refrence to the toolbar button which was pressed 
[popover presentPopoverFromRect:popoverRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

//release the popover content 
[popoverView release]; 
[popoverContent release]; 
//[[self view] addSubview:sign.view]; 

[UIView commitAnimations]; 

} 

現在demoviewcontroller是一個廈門國際銀行。我想在其中放一個名爲close的按鈕,我想關閉這個彈出窗口。

+1

但比UIPopoverController的觀點等,只要點擊UIPopoverController被解僱意味着父視圖 –

+0

是的,你是對的,但我不我不想要這個,我想用popover視圖中顯示的關閉按鈕關閉這個彈出窗口。 –

回答

1

我想讓UIPopoverController* popover屬於DemoViewController

@property (nonatomic, strong) UIPopoverController* popover; 

然後,你可以通過酥料餅,在你已經發布的代碼分配,這個類:

sign.popover = popover; 

此選擇加入DemoViewController

- (IBAction) didClickDismissPopoverButton:(id)sender 
{ 
    [self.popover dismissPopoverAnimated:YES]; 
} 

,然後只需連接這在Interface Builder中使用UIButton Touch Up Inside事件進行IBAction。

+0

在哪個文件中我必須創建這個方法?我的主文件或其他打開的xib(demoveiwcontroller)。 –

+0

我剛剛擴展了我的答案,現在應該更具體。 – zvonicek

1

在DemoViewController添加按鈕,像這樣:

UIButton *btnClose = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[btnClose addFrame:CGRectMake(20,20,80,30)]; 
[btnClose setTitle:@"Close" forState:UIControlStateNormal]; 
[btnClose addTarget:self action:@selector(dissmissPopOver:) forControlEvents:UIControlEventTouchUpInside]; 
[sign addSubView:btnClose]; 

現在選擇的是:

- (void)dissmissPopOver:(id)sender 
{ 
    [popover dismissPopoverAnimated:YES]; 
}