私はストーリーボードとテーブルビューを使用しています。私のテーブルビュー内の各セルにはUIView
があります。このUIView
のIBOutlet
をプログラムで置き換えることはできますか?たとえば、次のようなことをします。IBOutletビューをコードに置き換えてください
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var videoPlayerView: UIView! /// Really this is a VIMVideoPLayerView (from library below) which inherits from UIView.
func configureCell(with customObject: CustomObject) {
// Set the IBOutlet in code here.
self.videoPlayerView = customObject.videoPlayerView
}
}
これを行うと何も起こりません。
私は多くの人々が「なぜこれをやりたいのですか?ここに行く:私はこのライブラリVIMVideoPlayerを使用していると私はコード内のUIViewを含む実際のプレーヤーを作成します。プレイヤーを再利用する代わりに、コード内でそれらを一度に作成して、それらを表示したいと思っています。これは、パフォーマンスの理由から、メインスレッドでのスクロールや遅延をなくすことになります。
注:これは既にコードで動作していますが、実際にはストーリーボードを使用したいと思っています。私がコードで作業する方法は、これを行うことです: videoHolderView.addSubview(customObject.videoPlayerView)
どのような考えですか?
要約すると、ビデオ再生のサブビューを追加するとします。自分で追加することもできますが、コードにも制約を追加する必要があります。または、IBで設定されたビューのサブビューとして追加することもできます。他の選択肢はありません。私が知りたいことは、サブビューオプションに何が問題なのかです。質問は「スクロールと遅れ」です。何が問題なのですか?アウトレットのUIViewを放棄すれば、なぜその問題は解消されますか? – danh