質問: Xamarin.FormsのListViewやTableViewはCellの中身がBindingなどによって変わったときにiOSではセル高さが動的に変わりませんよね? みなさんはこの問題はどう解決しているのでしょうか? 今は何かの変更イベント時に無理やりCellの高さをセットしてForceUpdateSize()を呼んでいるのですが、他になにかいい案がありますか? ForceUpdateSize()を呼ぶとCell内で使っているEffectのOnAttachedやカスタムレンダラのPropertyChangedが何回も呼ばれるようになって困っています。さらに、TableViewだとCellの高さセットしてForceUpdateSize()呼んでも高さが反映されないです。ForceUpdateSize()はあまりいい方法ではないのかなと思っています。
回答: ForceUpdateSizeは使ったことがないのですがソースを見る限りTableViewでは呼ばれないみたいですね。 私はiOS側のUITableViewのReloadDataを呼んで解決しています。 行単位で更新する方法もあるみたいですが、めんどくさいのでこれで。 どちらの方法にせよ、iOSのTableViewに関してはCustomRendererで対応するしかなさそうです。 あとPropertyChangedやOnAtttachedの再呼び出しに関しては、セルを再描画する関係上やむを得ないと思います。