首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从弹出视图返回主视图

从弹出视图返回主视图
EN

Stack Overflow用户
提问于 2012-08-28 18:24:33
回答 2查看 248关注 0票数 1

我想从弹出视图返回到主视图,我在这里向您解释

代码语言:javascript
复制
-(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中有一个xib。其中我想要放置一个名为close的按钮,并且我想关闭这个弹出窗口。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-28 18:32:02

我会让UIPopoverController* popover成为DemoViewController中的一个属性。

代码语言:javascript
复制
@property (nonatomic, strong) UIPopoverController* popover;

然后,您可以将已发布的代码中分配的popover传递给此类:

代码语言:javascript
复制
sign.popover = popover;

将此选择器添加到DemoViewController

代码语言:javascript
复制
- (IBAction) didClickDismissPopoverButton:(id)sender
{
    [self.popover dismissPopoverAnimated:YES];
}

然后只需在界面生成器中将此IBAction与UIButton Touch Up Inside event连接。

票数 1
EN

Stack Overflow用户

发布于 2012-08-28 19:02:45

在DemoViewController中添加按钮如下所示:

代码语言:javascript
复制
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];

现在选择器是:

代码语言:javascript
复制
- (void)dissmissPopOver:(id)sender
{
  [popover dismissPopoverAnimated:YES];
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12157327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档