Iphone 如何在内容视图中取消弹出视图?
看到屏幕截图就明白我的意思了 您可以看到我在弹出视图中添加了navigationItem 我希望我能摒弃流行观点 但它似乎只在弹出视图下显示单元格 弹出视图将被关闭,我尝试添加此方法Iphone 如何在内容视图中取消弹出视图?,iphone,objective-c,ios,uipopovercontroller,dismiss,Iphone,Objective C,Ios,Uipopovercontroller,Dismiss,看到屏幕截图就明白我的意思了 您可以看到我在弹出视图中添加了navigationItem 我希望我能摒弃流行观点 但它似乎只在弹出视图下显示单元格 弹出视图将被关闭,我尝试添加此方法 [self.view removeFromSuperview]; 它只删除了表视图,弹出视图框架仍然存在,只是没有内容视图 任何回复都会有帮助:) 谢谢 韦伯 /******编辑******/ 我在我的项目中使用 这是我在选择表视图时创建pop视图的代码 if (indexPath.row==2) { DaysO
[self.view removeFromSuperview];
它只删除了表视图,弹出视图框架仍然存在,只是没有内容视图
任何回复都会有帮助:)
谢谢
韦伯
/******编辑******/
我在我的项目中使用
这是我在选择表视图时创建pop视图的代码
if (indexPath.row==2) {
DaysOfWeek *popView = [[DaysOfWeek alloc]init];
UINavigationController *navPopView = [[UINavigationController alloc] initWithRootViewController:popView];
if (self.popoverController) {
[self.popoverController dismissPopoverAnimated:YES];
self.popoverController = nil;
}
else {
self.popoverController = [[[WEPopoverController alloc] initWithContentViewController:navPopView] autorelease];
CGRect frame = [tableView cellForRowAtIndexPath:indexPath].frame;
[self.popoverController presentPopoverFromRect:frame
inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown|UIPopoverArrowDirectionUp
animated:YES];
}
}
/******编辑2******/
我尝试在创建弹出视图时添加“完成”按钮
下面是代码,但它只显示一个导航,没有“完成”按钮
DaysOfWeek *popView = [[DaysOfWeek alloc]init];
UINavigationController *navPopView = [[UINavigationController alloc] initWithRootViewController:popView];
navPopView.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(hidePopView)];
添加弹出视图时,将标记设置为该弹出视图,然后将其添加为子视图 然后使用:
for (UIView *tempView in [self.view subviews]) {
if ([tempView tag]==urTag) {
[tempView removeFromSuperview];
}
}
这将检索所有子视图,然后在添加弹出视图时仅删除您的popupview,将标记设置为该popupview,然后将其添加为子视图 然后使用:
for (UIView *tempView in [self.view subviews]) {
if ([tempView tag]==urTag) {
[tempView removeFromSuperview];
}
}
这将检索所有子视图,然后仅删除您的popupview我认为只需释放您的
self.popupOvercontroller
即可正确关闭,包括所有的超级视图
您还可以查看wepopcovercontroller
中的dealloc
方法,查看涉及哪些视图,哪些视图需要删除:
[self dismissPopoverAnimated:NO];
[contentViewController release];
[containerViewProperties release];
[passthroughViews release];
无论如何,我看到的唯一优势是可以使用YES
调用dismissPopoverAnimated
希望这有帮助
编辑:
如何将“完成”按钮连接到控制器
通过DaysOfWeek
的只读属性访问按钮;然后在控制器中,当您创建DaysOfWeek
时,执行以下操作:
DaysOfWeek *popView = [[DaysOfWeek alloc]init];
[propView.doneButton addTarget:self action:@selector(fullyDismissPopover) forControlEvents:UIControlEventTouchUpInside];
在fullyDismissPopover中,您可以调用release或调用上面突出显示的函数序列(但我认为release会更好)。我认为只需释放您的
self.popoverController
就可以正确地关闭,包括所有的SuperView
您还可以查看wepopcovercontroller
中的dealloc
方法,查看涉及哪些视图,哪些视图需要删除:
[self dismissPopoverAnimated:NO];
[contentViewController release];
[containerViewProperties release];
[passthroughViews release];
无论如何,我看到的唯一优势是可以使用YES
调用dismissPopoverAnimated
希望这有帮助
编辑:
如何将“完成”按钮连接到控制器
通过DaysOfWeek
的只读属性访问按钮;然后在控制器中,当您创建DaysOfWeek
时,执行以下操作:
DaysOfWeek *popView = [[DaysOfWeek alloc]init];
[propView.doneButton addTarget:self action:@selector(fullyDismissPopover) forControlEvents:UIControlEventTouchUpInside];
在fullyDismissPopover中,可以调用release或调用上面突出显示的函数序列(但我认为release会更好)
这也可以解决问题
这也可以解决问题 如何创建弹出视图?请发布一些代码,以便我们可以尝试帮助您…我添加代码如何创建popview,或者关于我错过了那部分您如何创建pop view?请发布一些代码,以便我们可以尝试帮助您…我添加了如何创建popview的代码,或者关于我想念partI在iphone中使用pop view,因此可能有些部分不同,我添加了我的代码,希望它能帮到您,仍然非常感谢您DaysOfWeek*popview=[[DaysOfWeek alloc]init];[popView设置标签:100];那么你想在哪里取消这个popView,然后使用下面的for循环,并指定100 for urTagI已经在表视图第2节的其他行中添加了此代码,问题是iphone视图太小,它将涵盖基于视图…没问题,保持登录到该聊天室并通过启用destop通知保持在那里以获得即时帮助…看,我在iphone中使用了pop view,因此可能有些部分有所不同,我添加了我的代码,希望它能帮上忙,仍然非常感谢您DaysOfWeek*popView=[[DaysOfWeek alloc]init];[popView设置标签:100];那么你想在哪里取消这个popView,然后使用下面的for循环,并指定100 for urTagI已经在表视图第2节的其他行中添加了此代码,问题是iphone视图太小,它将覆盖基于的视图…没问题,保持登录到该聊天室,并通过启用destop通知来获得即时帮助…查看([ApplicationLegate.aPopover isPopoverVisible]){[ApplicationLegate.aPopover dismissPopoverAnimated:YES];}“完成”按钮在另一个视图类中…如何调用超级视图控制器来取消它?popview不在AppDelegate中,在根视图控制器(TableView控制器)中,您不解释如何创建
ui按钮和包含它的视图,但方法是将视图控制器设置为点击的目标addTarget:action:forControlEvents:
。在创建按钮时,您能找到一种方法吗?我声明按钮是在DaysOfWeek.mif([applicationelegate.aPopover ispopoovervisible]){[applicationelegate.aPopover dismissPopoverAnimated:YES];}“完成”按钮在另一个视图类中…如何调用超级视图控制器来取消它?popview不在AppDelegate中,在根视图控制器(TableView控制器)中,您不解释如何创建ui按钮和包含它的视图,但方法是将视图控制器设置为点击的目标addTarget:action:forControlEvents:
。当你创建按钮时,你能找到一种方法吗?我声明按钮是在DaysOfWeek.m创建的