- (voID)tableVIEw:(UItableVIEw *)tableVIEw dIDSelectRowAtIndexPath:(NSIndexPath *)indexPath {
OrderNumVIEwController *orderNumVIEwController = [[OrderNumVIEwController alloc] init];
orderNumVIEwController.containerVIEwController = self;
if (orderNumPopover == nil) {
orderNumPopover = [[UIPopoverController alloc] initWithContentVIEwController:orderNumVIEwController];
}else {
orderNumPopover.contentVIEwController = orderNumVIEwController;
}
OrderOnlineCell *cell = (OrderOnlineCell *)[tableVIEw cellForRowAtIndexPath:indexPath];
[self showOrderNumPopover:cell];
[orderNumVIEwController release];
} -(voID)showOrderNumPopover:(OrderOnlineCell *)cell {
//d出窗口大小,如果屏幕画不下,会挤小的。这个值默认是320x1100
orderNumPopover.popoverContentSize = CGSizeMake(400,320);
//popoverRect的中心点是用来画箭头的,如果中心点如果出了屏幕,系统会优化到窗口边缘
CGRect popoverRect = CGRectMake(cell.bounds.origin.x + cell.bounds.size.wIDth - 100,
cell.bounds.origin.y,
27,32);
[orderNumPopover presentPopoverFromrect:popoverRect
inVIEw:cell //上面的矩形坐标是以这个vIEw为参考的
permittedArrowDirections:UIPopoverArrowDirectionUp //箭头方向
animated:YES];
} 其中需要注意的是如何确定popoverd出的位置和箭头所指方向。
showOrderNumPopover函数中首先确定d出窗口大小,然后绘制箭头方框,其坐标以传入的单元格视图为参考。 在实现过程中,因为没搞清楚,以整个tableVIEw作为参考确定坐标,导致popoverd出窗口的位置总是不变,一度怀疑cell从table中取出后就失去了关联属性,后来仔细研究下原来要以点击的cell作为参考视图确定坐标。 总结
以上是内存溢出为你收集整理的iPad中popover窗口d出全部内容,希望文章能够帮你解决iPad中popover窗口d出所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)