2016-10-17 11 views
0

セルの中央に画像ビューを配置する際に問題が少しあります。中央のImageViewをTableViewCellの内側に配置

私はのtableViewセルを有する: (画面の中央にあるが、AccessoryView又はアクセサリと重ならないことである)UIImageView 任意AccessoryView又はアクセサリ を左揃えされるラベル。

I次いで、ヘッダーセルを有する: 残っているラベルが整列 (画面の中央にあることがある)UIImageView

問題は、私はすべての画像になりたいということです(ヘッダーを含む)水平に配置されていますが、AccessoryView/Accessoryは計算を停止します。画像ビューはScaleAspectFitです。現在、私はcontentViewの幅になるように幅を設定しています。

私はこれをどのように達成するかについて誰にでも分かりますか? AccessoryViewやアクセサリーを持たないセルに空のビューを入れると言う人がいるのですが、これはヘッダーに役立ちません。他の人は値をハードコードしていますか?

ありがとうございました

+0

あなたは何をしようとしているのですか?可能であれば、スクリーンショットを添付してください。 私は正しく理解していますか?ヘッダとノーマルセルの両方を含むすべてのimageViewsを整列させたいが、アクセサリビューの後ろにイメージが表示されないようにするには? – Rikh

+0

ええ、申し訳ありません。基本的には、すべての画像をヘッダーセルを含む一直線に表示します。 AccessoryViewまたはアクセサリを重ならないでください。 – Robert

+0

単純にすべてのimageViewをスーパービューに揃えることができます。左にあるラベルの先頭に値を加え、値以上になり、imageViewの幅を設定します。 (もちろん、必要に応じて垂直方向の拘束を追加する必要があります!) 編集:アクセサリビューが通常表示される場所よりも大きな末尾を追加する必要があります。 – Rikh

答えて

0

変更画像ビューフレームx元セルレイアウトの後にサブビュー。これをセル定義に追加するだけです。

override func layoutSubviews() { 
    let screenWidth = UIScreen.main.bounds.width 
    let imageViewWidth = self.imageView?.frame.width 
    let imageViewOriginX = (screenWidth - imageViewWidth!)/2 
    self.customImageView.frame.origin.x = imageViewOriginX 
} 
関連する問題