WEPopoverController没有显示箭头 - 与UIPopoverController的工作方式相同

时间:2011-11-16 12:28:02

标签: iphone objective-c

当用户按下按钮时,我有这个代码:

SettingsViewController *settingsViewController = [[SettingsViewController alloc] init];
    WEPopoverController *popover = [[WEPopoverController alloc] initWithContentViewController:settingsViewController];
    [popover setDelegate:self];
    [popover presentPopoverFromRect:settingsWheel.frame
                             inView:self.view
           permittedArrowDirections:UIPopoverArrowDirectionUp
                           animated:YES];
    [popover setPopoverContentSize:CGSizeMake(150, 200)];

然后在设置视图控制器中,我有:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {


        self.view.backgroundColor = [UIColor blueColor];
        self.contentSizeForViewInPopover = CGSizeMake(150, 200);
    }
    return self;
}

但由于某些未知原因,它只显示背景的蓝色方块而不是箭头或圆角。

我有什么想法来展示这些?

2 个答案:

答案 0 :(得分:3)

确保在GitHub上包含WEPopoverController附带的图像。它包括所有方向的箭头以及弹出窗口的背景。

答案 1 :(得分:1)

下面是出现Popover的代码(我从github上的WEPopoverTableView类中获取)

UIViewController *contentViewController = [[WEPopoverContentViewController alloc] initWithStyle:UITableViewStylePlain];

CGRect frame = [tableView cellForRowAtIndexPath:indexPath].frame;

self.popoverController = [[[WEPopoverController alloc] initWithContentViewController:contentViewController] autorelease];
[self.popoverController presentPopoverFromRect:frame 
                                            inView:self.view 
                          permittedArrowDirections:UIPopoverArrowDirectionDown|UIPopoverArrowDirectionUp
                                          animated:YES];

currentPopoverCellIndex = indexPath.row;
[contentViewController release];