タイトルのように、私はSwift 3.0を使用しているXcodeプロジェクトに取り組んでいます。私は、私の現在のビュー、ボタンをクリックして、ポップアップとして小さなビューを表示したいと思います。 このポップアップは、特定の配列内に多数のセルがある場合に1つのラベル+ 1つのテキストボックスを表示するテーブルビューになります。サイズは画面の一部に制限され、テーブルビューは当然スクロール可能です。プログラムでカスタムテーブルビューをポップアップとして作成
プログラムでビューを作成する方法を理解していますが、「hidden = true」という概念があります。私が本当に苦労しているのは、テーブルビューを取得することです。理論的には私のストーリーボードでビューをデザインすることができましたが、それを名前で参照してスーパービューを現在のビューに適用する方法がありますか?
ありがとうございました!
編集:私は限り、このコードのようになったいくつかの助けに
ありがとう:
@IBOutlet weak var CreatePost: UIButton!
@IBAction func CreatePost(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let popVC = storyboard.instantiateViewController(withIdentifier: "CreateAccountPop") // your viewcontroller's id
popVC.preferredContentSize = CGSize(width: 500, height: 600)
popVC.modalPresentationStyle = .popover
let popover = popVC.popoverPresentationController
popover?.delegate = self as? UIPopoverPresentationControllerDelegate
//sourceRect and sourceView is required in case of iPad
popover?.sourceRect = (sender as AnyObject).frame //give anchor frame
popover?.sourceView = sender as! UIView //give anchor view
self.present(popVC, animated: true, completion: nil)
}
コードは、ビューコントローラが表示されますが、それは画面全体を占めます。サイズを制限する方法を理解できないようです。
にご提示のViewControllerに準拠することを忘れないでください、あなたは代わりに新しいビューコントローラ内のテーブルビューを表示しようとしましたか? View Controllerをポップアップとして表示することもできます –
そのような意味ですか? https://developer.apple.com/ios/human-interface-guidelines/views/popovers/ – lukwuerz
はい、そのようなものです。 iPhoneでは、ポップアップのようになる –