【发布时间】:2014-09-24 15:29:20
【问题描述】:
当我点击 UIButton 时出现弹出框。此按钮位于静态 UITableViewCell 中。但是,当我点击按钮时,弹出框不在我认为应该在 UIButton 下的位置。
因为它是一个静态单元格,所以我没有使用 didSelectRowAtIndexPath,也不需要使用 cellForRowAtIndexPath。我基本上使用 UITableView 作为在我的视图控制器中嵌入滚动视图的廉价替代方案。它本质上是用于数据输入的。我有 4 个部分,每个部分有 1 行。我相信我需要弄清楚如何从每个部分的行中获取 NSIndexPath 以传递给 .sourceView 类似于 Objective-C 中的内容
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[self.profileItemsDetailPopover presentPopoverFromRect:cell.bounds inView:cell.contentView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
@IBAction func dateOfBirthAction(sender: AnyObject){
var popoverViewController = self.storyboard?.instantiateViewControllerWithIdentifier("DateOfBirthViewController") as UIViewController
popoverViewController.modalPresentationStyle = .Popover
popoverViewController.preferredContentSize = CGSizeMake(300, 300)
let popoverPresentationViewController = popoverViewController.popoverPresentationController
popoverPresentationViewController?.permittedArrowDirections = .Any
popoverPresentationViewController?.delegate = self
popoverPresentationViewController?.sourceView = tableView
popoverPresentationViewController?.sourceRect = playerInformationBirthDateButton.frame
presentViewController(popoverViewController, animated: true, completion: nil)
}
解决方案:
@IBAction func dateOfBirthAction(sender: UIButton){
var cell = sender.superview!.superview! as UITableViewCell
var popoverViewController = self.storyboard?.instantiateViewControllerWithIdentifier("DateOfBirthViewController") as UIViewController
popoverViewController.modalPresentationStyle = .Popover
popoverViewController.preferredContentSize = CGSizeMake(300, 300)
let popoverPresentationViewController = popoverViewController.popoverPresentationController
popoverPresentationViewController?.permittedArrowDirections = .Any
popoverPresentationViewController?.delegate = self
popoverPresentationViewController?.sourceView = cell.contentView
popoverPresentationViewController?.sourceRect = playerInformationBirthDateButton.frame
presentViewController(popoverViewController, animated: true, completion: nil)
}
【问题讨论】:
-
谢谢..它也适用于我..我如何在确切的单元格上给出指针?
标签: uitableview swift uibutton popover