开发者

How to use UIPopoverController with fromRect

开发者 https://www.devze.com 2023-03-09 03:55 出处:网络
Could anyone please tell me what the rect and view should be? I do not understand what I shall pass to the selector. An example would be great!

Could anyone please tell me what the rect and view should be? I do not understand what I shall pass to the selector. An example would be great!

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIPop开发者_如何学GooverController_class/Reference/Reference.html

- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated


I use this pretty often. Let's say you want to tap on an image and present a popover with information about it. Assuming you have a gesture recognizer with the selector method (handleImageTap:) on your image, here would be an example code to make that happen:

- (void)handleImageTap:(UIGestureRecognizer *)gesture {
    // initialize your popover view controller and assign it to your popoverController
    MyPopoverViewController *content = [[MyPopoverViewController alloc] init];
    popoverController = [[UIPopoverController alloc] initWithContentViewController:content];
    popoverController.popoverContentSize = CGSizeMake(600, 600);
    popoverController.delegate = self;
    [content release];

    if (popoverController.popoverVisible == NO) {
        // you can find the tappedImage through the gesture by searching up superviews if you don't already have a reference to it;
        [popoverController presentPopoverFromRect:[tappedImage frame] inView:self.view 
        permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];                  
    }
    else {
        [popoverController dismissPopoverAnimated:YES];
    }
}

So basically, view will be self.view becuase you are displaying it from the current view controller. The rect is just whatever rect you want the popover to display from. In this case, it is set up to be displayed from the frame of an image. I hope this helps you. If something is still confusing, I'll be happy to try and clear it up

0

精彩评论

暂无评论...
验证码 换一张
取 消