在ipad中设置popover视图的位置

时间:2011-11-30 06:10:43

标签: iphone objective-c xcode uipopovercontroller

我在我的应用程序中使用POPover View,我有一个动作方法,因为我正在实现popover视图代码。

当我点击按钮时,我有一个按钮弹出窗口显示有表视图,单击标签上显示的单元格数据的单元格。

当我点击按钮弹出视图显示在左上角时,我的要求是什么,而按钮是屏幕的右上角。我想在点击按钮下方设置弹出框架,所以请更正我哪里出错了。

    -(IBAction) settingsGo:(id) sender{

    NSLog(@"Go");

   if (self.popoverController == nil)

    {
        PopOver *lang = [[PopOver alloc]
                       initWithNibName:@"PopOver" bundle:[NSBundle mainBundle]];

        UIPopoverController *popOver = 
        [[UIPopoverController alloc]initWithContentViewController:lang];

        popOver.delegate = self;
        [lang release];

        self.popoverController = popOver;
        [popOver release];
    }
    [popoverController setPopoverContentSize:CGSizeMake(250, 150)];

    [popoverController presentPopoverFromRect:Button.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

3 个答案:

答案 0 :(得分:3)

This会帮助你。

设置

UIButton *btnAction; // A button to which UIPopoverController will belong.
CGRect popoverFrame = btnAction.frame;
[popoverController setPopoverContentSize:CGSizeMake(320, 355) animated:NO];
[popoverController presentPopoverFromRect:popoverFrame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

setPopoverContentSize 将设置UIPopoverController的大小。

答案 1 :(得分:2)

[popoverController presentPopoverFromRect:[sender frame] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

这样就可以了。

答案 2 :(得分:0)

更改此行

[popoverController presentPopoverFromRect:[sender bounds] inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];