2016-11-17 5 views
1

私のviewControllerの中に私はtableViewカスタムセルを持っています。私cellForRow:atIndexPath:方法で Iは、特定のセル内に表示されUIButtonの、私ののViewControllerの座標系によれば、位置(rect)にアクセスしたいです。 これは、私はそれが仕事だろうと思った方法です。convertRectを取得できません:fromView to work

func tableView(tableView: UITableView, 
       cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    var cell = tableView.dequeueReusableCellWithIdentifier("cellId") as? MyCell 
    if cell != nil { 

     cell = MyCell(style: .Default, reuseIdentifier: "cellId") 
    } 

    let convertedFrame = view.convertRect(cell!.myButton.Frame, fromView: cell) 

    return cell! 
} 

それはちょうど私の独自の座標系でボタンそのメソッドの正しい使用方法について(0.0, 0.0, 44.0, 44.0)

どれ手がかりの現在のフレームを与えますか?

+2

なぜこれを 'cellForRowAtIndexPath'でやっていますか?セルはまだテーブルに追加されていません。 – rmaddy

+0

Hmm。それは理にかなっている。それはおそらくこれを行うための悪い場所です。 –

+0

それは理にかなっているだけでなく、トリックもしました。 ありがとうございます。 –

答えて

0

セルが実際にビュー階層に配置される前に、それを呼び出すだけでした。それを指摘するためにrmaddyに感謝します。

+0

あなたが配置した場所のコードを共有する – Vinodh

関連する問題