我目前正在设计一个带有许多文本字段的iPad应用程序,当我点击这些文本字段时,我想要一个小视图来弹出(这些将包含带有选项的表视图等),这一切都很完美。但是,我想用箭头显示用户输入的文本字段。
最佳示例是在iPad Safari上,当您点击搜索时,它会在顶部显示带箭头的视图。我已经在大量的应用程序中看到了这些并且想要做同样的事情。
我是怎么想的?
答案 0 :(得分:0)
假设您有一个视图(其中一个文本字段)和viewController,您想要呈现它。此代码将显示一个带有指向视图中间的箭头的弹出窗口。 您可以使用UIPopoverArrowDirection的任意组合(例如UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown)。在这个例子中,popover将显示它在Safari中发生的类似方式。
如果您希望弹出窗口显示箭头指向视图中间,请使用此代码:
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:viewController];
CGRect rect = CGRectMake(CGRectGetMidX(view.frame) - 1, CGRectGetMidY(view.frame) - 1, 1, 1);
[popoverController presentPopoverFromRect:rect inView:view permittedArrowDirections:UIPopoverArrowDirectionUp animated:animated];
如果您希望弹出窗口显示箭头指向视图中的任何位置,请使用此代码:
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:viewController];
[popoverController presentPopoverFromRect:view.frame inView:view permittedArrowDirections:UIPopoverArrowDirectionUp animated:animated];
答案 1 :(得分:0)
使用popoverController。好的首发:http://www.youtube.com/watch?v=o3tW4h95-Cw&list=PL1824275972079B55。
而不是子类viewcontroller,子类tableviewcontroller。将tableviewcontroller传递给initWithContentViewController /
代码示例:
UIPopoverController *pop = [[UIPopoverController alloc]initWithContentViewController:yourtableviewcontroller];
[pop setDelegate:self];
[pop presentPopoverFromRect:popbutton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
根据您的具体情况改变方向。