如何在CollectionView控制器的单元格上打开ViewController

时间:2016-03-30 12:30:54

标签: swift2 ios9 xcode7

如下图...

enter image description here

我尝试了以下代码......

import UIKit

类UploadsController:UICollectionViewController,Dimmable {

let dimLevel: CGFloat = 0.5
let dimSpeed: Double = 0.5

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    dim(.In, alpha: dimLevel, speed: dimSpeed)
}


@IBAction func unwindFromUploadEdit(segue: UIStoryboardSegue)
{
    dim(.Out, speed:dimSpeed)

}

通过CollectionViewController的单元格上的按钮以模态方式连接AnotherViewController ..

但它不起作用.. 单击按钮后,AnotherViewController在整个CollectionViewController上打开/覆盖而不是CollectionViewController的单元...

PLZ。建议我怎么能这样做我是Swift的新手

1 个答案:

答案 0 :(得分:0)

在呈现之后查看AnotherViewController的框架。将其与CollectionViewController中的单元格框架进行比较。您希望宽度和高度相同,以便它只覆盖该视图。 x和y点有点棘手。 UIView上有一个名为convertRect的方法:toView :.单元格的原点是相对于集合视图。 AnotherViewController的原点应该是相对于整个CollectionViewController的视图。使用上述方法确定单元格相对于其ViewController的位置,并使用该信息确保叠加层大小相同且位于单元格的相同位置。