私は約40レコードのテーブルを持っています。私はいつも画面の中央にあるセルを特定の位置で選択したいと思っています。私はテーブルからscroolを行うたびに、選択された行を現在中心にある行に変更する必要があります。 ピッカーと同じですが、行には複数のイメージとラベルがあるため、ピッカーを作成することはできません。表2のセル自動選択はswiftを使用します。
似たようなことはできますか?
私は約40レコードのテーブルを持っています。私はいつも画面の中央にあるセルを特定の位置で選択したいと思っています。私はテーブルからscroolを行うたびに、選択された行を現在中心にある行に変更する必要があります。 ピッカーと同じですが、行には複数のイメージとラベルがあるため、ピッカーを作成することはできません。表2のセル自動選択はswiftを使用します。
似たようなことはできますか?
はい、可能ですが、悪いユーザーインターフェイスのように聞こえます。
UITableViewは、UIScrollviewのサブクラスです。スクロールビューの代理人として自分自身を設定することができ、scrollViewDidScroll(_:)
やscrollViewDidEndDecelerating(_:)
のような代理コールに応答して、選択を変更します。
しかし、ピッカービューを使用した方が、ユーザーエクスペリエンスが向上すると思います。ピッカービューを設定して各インデックスのビューを使用できるので、複数のイメージビューとラベルをサブビューとして含むカスタムビューを提供できます。
このは、UIPickerViewで可能なです。これは、再作成しようとしているようなサウンドです。
UIPickerViewのビューを置き換えるだけで済みます。通常は必要ではない2つの方法があります。高さを指定する必要があり、行に使用するビューを定義する必要があります
func pickerView(pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat
{
return self.myRowHeight
}
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView
{
var myView = UIView(frame: CGRectMake(0, 0, pickerView.bounds.width, self.myRowHeight))
// define & add whatever controls you need
myView.addSubview(myControl1)
myView.addSubview(myControl2)
return myView
}
UITableViewの代わりにUICollectionViewを使用する必要があります。 collectionViewを使用すると、セルをより自由に表示できます。 –