2017-02-13 4 views
0

こんにちは、私はviewcontrollerを、テーブルビューのセル内のuibuttonをポップオーバー接続として接続しようとしています。私は2つのボタンを持つ小さなView Controllerを持っています。そして、私はそれらの細胞の中に多くの多くの細胞とボタンがあるテーブルビューを持っています。ユーザーが特定のボタンをクリックすると、静的コンテンツのポップオーバー接続のデフォルト動作のように、クリックされたボタンのアンカーでポップオーバーを開きたいとします。スウィフト3:動的なuitableviewcell内のボタンからuiviewcontrollerへのポップオーバー接続

しかし、動的なコンテンツを扱うとき、私は私のストーリーボードにこのエラーを取得しています: は接続をコンパイルできませんでした...

ここでは、私が何をしようとしているのはほとんどのサンプルとエラーIでありますget: enter image description here

私は隠し1pxボタンのような汚れたハックを使用したくないです。カスタムセグを作成しようとしましたが、うまく動作しません。

これを達成する最も良い方法は何ですか?

これは、この例では、コードとしてどのように見えるかです:あなたのポップオーバービューはボタンだけであるならば、あなたはUIAlertControllerを使用することができます

import UIKit 

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return 1 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! CustomTableViewCell 

     let button = cell.customButton 

     return cell 
    } 

} 


import UIKit 

class CustomTableViewCell: UITableViewCell { 

    @IBOutlet weak var customButton: UIButton! 

    @IBAction func buttonTapped(_ sender: Any) { 


    } 

    override func awakeFromNib() { 
     super.awakeFromNib() 
    } 

    override func setSelected(_ selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 
    } 

} 
+0

なぜ思われますあなたのセル内でuiviewcontrollerを使いたいですか? –

+0

私は自分のセル内でuiviewcontrollerを使いたくありません。私も右の質問を取得しないでください – Kingalione

+1

コードでpopoverを提示する。ストーリーボードのポップオーバーのアンカービューとして、プロトタイプセルのビューを使用することはできません。 – dan

答えて

0

が、矢印が唯一のiPad

@IBAction func buttonTapped(_ sender: Any) { 

let alertVC = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) 
alertVC.modalPresentationStyle = .popover 
//setup 
if let popoverController = alertVC.popoverPresentationController { 
     popoverController.permittedArrowDirections = .any 
     popoverController.sourceView = self 
     popoverController.sourceRect = self.bounds 
    } 
} 
tableVC.present(alertVC, animated: true, completion: nil) 
+0

ええ、ボタンは非常に複雑な機能を持っています。 – Kingalione

+0

ボタンのUIが複雑でない場合は、ボタン内のロジックとは関係ありません。 – Terence

+0

ボタンもカスタムボタンです – Kingalione

関連する問題