2016-12-13 14 views
0

テーブル内にボタンがあるときのフォーカスの働きを理解しようとしています。UITableViewのUIButtonフォーカス

目的は、テーブルビューのサイズと同じサイズのカスタムセルを使用してテーブルビューを作成することです(その時点で1つのセルしか表示しません)。ボタンがフォーカスされると、スクロール(テーブルビューは自動的にそれを行っています)し、次のセルに移動し、次のセルだけを表示します。 私はボタンが表のセル内でオーバーライドにより、フォーカスはなく、テーブルビューのセルにこのメソッドになることを確認しました:

override var canBecomeFocused: Bool{ 
     return false 
} 

ボタンがフォーカスされていると私は/上下にスワイプしていたときに、フォーカスが移動しています(テーブルとテーブルのセルが360ピクセルより大きい場合)なぜスクロールするのか理解したいのですが次のセルに移動し、次のセル(テーブルビューと同じサイズのセル)だけが表示され、時には(テーブルとセルが360ピクセル以下の場合)、テーブルビューがちょっとスクロールして次のセルはボタンのみを表示しています(セルが完全に表示されていないことを意味します)

だから、私が持っている:

セルとテーブルビューのセルサイズが360より大きいあり、我々はボタンがフォーカスされたときに、テーブルビューは、セルの中央にスクロールしていることがわかります、私たちは1つだけを見ることができますセル:

enter image description here セルとテーブルビューセルサイズが360より小さいで、我々はボタンがフォーカスされたときに、テーブルビューはボタンが表示され、いくつかのポイントにスクロールしていることがわかります

enter image description here

FYI:ボタンのサイズはスクロールには影響しないと思うが、テーブルビューとテーブルビューのセルサイズだけがスクロールに影響する。

一部ですか?何か案が ?

This is the test Project:それはより良い360次に小さいこと、およびUIButtonを中心にされていることを確認するために、テーブルビューのサイズとセルサイズを変更してください見るために:Project

+0

はあなたの問題を描い苦労して:あなたは、このリンクでより多くを見ることができる

override var preferredFocusEnvironments: [UIFocusEnvironment]{ // Condition } override func shouldUpdateFocus(in context: UIFocusUpdateContext) -> Bool { // Condition } override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) { // Condition } 

を参照してください。あなたが「BUT」の部分を得るまでは明らかです。私はそこから来ているかもしれないいくつかのアイデアを持っていますが、より多くの情報が役立つでしょう。 – rottenoats

+0

ちょっと@rugdealer私はそれをよりよく説明しようとします。私は上下にスワイプすると、テーブルビューのスクロールにフォーカスが必要な次のボタンにスクロールします。テーブルビューのサイズを360以上に変更すると、テーブルビューは次のボタンにスクロールし、セルは中央に配置されます。テーブルの表示サイズを360より小さく変更すると、テーブルビューは次のボタンにスクロールし、セルは中央に配置されません。一般的には、目的はスワイプした後に1つのセルしか見ないことです。 – Sosily

答えて

0

あなたはUITableViewCellののサブクラスでこれらのメソッドを置くことができます。 enter link description here

関連する問題