2016-10-19 7 views
0

iOSのMy Todayウィジェット拡張機能が.compactモードになっていると、フッターがスライドしてUITableviewプロトタイプセルを置き換えます。残念ながら、UITableViewの最初のセルは、ウィジェットのデフォルトの背景を使用しているため、フッターの後ろに表示されます。フッターの背景色を使用せずにセルを完全に隠すにはどうすればよいですか?今日の.compactモードのウィジェット、UITableviewの行はフッタの後ろに表示されます

enter image description here

セカンダリ質問:述べたように、フッタは、表のセルを非表示にする.compactモードで起動アニメーション化し、今日のウィジェットの最小サイズを記入します。これはUITableviewのデフォルトの動作ですか?

+0

可能であれば、スクリーンショットを追加してください。 –

+0

残念ながら、これは仕事のためのスクリーンショットを与えることはできませんが、私が見ている動作を示すために簡単な図をアップロードしました。 – fakataha

答えて

7

私の場合を除いて、私はフッタをコンパクトディスプレイモードで隠したかったのを除いて、同様の問題がありました。あなたがその同じイベントを使用することができ、あなたはフッターが表示されると、テーブルのセルを非表示にすることにしたいあなたのケースでは、

func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode, withMaximumSize maxSize: CGSize) { 
    self.myFooterView.hidden = (activeDisplayMode == NCWidgetDisplayMode.compact) ? true : false 
} 

、およびテーブルをリロード:私は、以下に示すように、それを行うためにwidgetActiveDisplayModeDidChangeを使用しましたウィジェットの表示モードが変更されるたびに、適切なセル数でデータが更新されます。

+0

これがうまくいくかどうかわかります。応答していただきありがとうございます。 *サイドノート:三項演算子を削除することで簡単にすることができます:self.myFooterView.hidden = activeDisplayMode == NCWidgetDisplayMode.compact。 – fakataha