UIPopoverController 在 iPad 中的位置
Posted
技术标签:
【中文标题】UIPopoverController 在 iPad 中的位置【英文标题】:position of UIPopoverController in iPad 【发布时间】:2012-08-01 10:51:46 【问题描述】:我在按钮点击时打开了一个弹出窗口。
我想设置该视图的 x 和 y 位置。试了很多次,还是不能正确设置。
这是我的代码:
-(IBAction)product2_click_h2
//build our custom popover view
UIViewController* popoverContent2 = [[UIViewController alloc]
init];
UIView* popoverView2 = [[UIView alloc]initWithFrame:CGRectMake(100,100,200,200)];
popoverView2.backgroundColor = [UIColor greenColor];
UITextView *prod2_info = [[UITextView alloc]initWithFrame:CGRectMake(5,5,390,290)];
[prod2_info setFont:[UIFont fontWithName:@"Arial" size:15]];
[popoverView2 addSubview:prod2_info];
[prod2_info setEditable:NO];
prod2_info.text = @"\n"
" Higher Mileage Motor Oil :\n "
" --------------------------------------\n\n"
" --> MaxLife NextGen Higher Mileage Motor Oil \n\n"
"- Special seal conditioners rejuvenate seals\n"
" within the engine block to help \n"
" prevent oil leaks that lead to sludge and deposits.\n"
"- Anti-oxidant additives reduce oil viscosity breakdown\n"
" to help prevent engine clogging sludge and deposit formation. \n"
"- Detergents chemically bond with and remove existing\n"
" sludge and deposits\n"
"- Additional friction-reducing additives help reduce abrasion within engine\n"
"- Anti-wear agents help prevent engine damage \n"
"- Available in the following viscosity grades \n"
" - 5W-30 \n "
" - 10W-30 \n ";
prod2_info.scrollEnabled =YES;
popoverContent2.view = popoverView2;
popoverContent2.contentSizeForViewInPopover = CGSizeMake(400,300);
//create a popover controller
self.popovercontroller_2 = [[UIPopoverController alloc]
initWithContentViewController:popoverContent2];
//present the popover view non-modal with a
//refrence to the button pressed within the current view
[self.popovercontroller_2 presentPopoverFromRect:product2.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
这是它现在的样子:
【问题讨论】:
非常感谢编辑 不客气。标题说“大小”,但听起来你想控制位置,对吧?product2
到底是什么?它在视图中的什么位置?
是的,正确的..按钮名称中的产品 2...这里我在按钮和按钮单击上设置了图像,我想打开弹出窗口...但我无法设置位置。所以当我点击图片时..弹出应该在该图片(按钮)附近打开
每个产品都有单独的按钮吗?所有的按钮都调用这个方法吗?如果是这样,product2
怎么会指向被点击的按钮?
我有差异按钮。 .for product1...button 是 product1,,,for second product..m 有名为 product2 的按钮
【参考方案1】:
而不是这个:
[self.popovercontroller_2 presentPopoverFromRect:product2.frame
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
只需像这样进行更改:
[self.popovercontroller_2 presentPopoverFromRect:product2.frame
inView:**button.bounds**
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
【讨论】:
只写你的按钮名称或尝试“yourButtonName.bound” [self.popovercontroller_2 presentPopoverFromRect:product2.frame inView:product2.bounds allowedArrowDirections:UIPopoverArrowDirectionAny animated:YES];以上是关于UIPopoverController 在 iPad 中的位置的主要内容,如果未能解决你的问题,请参考以下文章
UIPopoverController 可以在屏幕上移动吗?
自动旋转时出现 UIPopOverController 问题