2

UITableViewUITextField、およびいくつかのカスタムを組み合わせた UI を作成する必要がありUIView、カスタム フォーカス アニメーションも提供する必要があります。

UITableView/UITableViewCellを取得しUITextFieldて、デフォルトのフォーカス アニメーションをレンダリングしないようにするにはどうすればよいですか?

私は試した:

    override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
        if let view = context.previouslyFocusedView {
            view.layer.removeAllAnimations()
        }
        if let view = context.nextFocusedView {
            view.layer.removeAllAnimations()
        }
    }

独自のアニメーションを追加できますが、ビューから「デフォルト」のアニメーションを削除できません。

4

3 に答える 3

2

セルのフォーカス スタイルをデフォルトではなくカスタムに変更します。

cell.focusStyle = UITableViewCellFocusStyle.custom
于 2018-12-17T14:04:04.037 に答える
1

UITableViewCells からフォーカスを削除するには、次のコードを使用します。

 func tableView(_ tableView: UITableView, canFocusRowAt indexPath: IndexPath) -> Bool {
    return false
}
于 2017-01-18T11:18:58.390 に答える