--- title: "Replacing the progress indicator UI for iOS" slug: "dpo-replace-ios-app-sdk-ui-for-the-progress-indicator" updated: 2026-10-27T20:13:12Z published: 2026-10-27T20:13:12Z canonical: "docs.onespan.com/dpo-replace-ios-app-sdk-ui-for-the-progress-indicator" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Replacing the progress indicator UI for iOS The App SDK provides a default Progress Indicator. ![](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/image2.jpg?sv=2026-02-06&spr=https&st=2026-10-29T02%3A34%3A25Z&se=2026-10-29T03%3A34%3A25Z&sr=c&sp=r&sig=qGZkdQtffgSAVaJde7xFCVEt1UjkMhjlrIIS2pz3CEM%3D) To provide your own Progress Indicator, take the following steps: **Step 1.** Create a class for your custom progress indicator which adopts the IndicatorListenerDelegate protocol. For example, call this class SampleIndicatorListener. To satisfy the protocol, implement these three methods: ```swift class SampleIndicatorListener : IndicatorListenerDelegate {    func changeIndicatorVisibility(_ show: Bool) {        // Called when the SDK needs to show or dismiss the indicator.        // Add your implementation here.    }    func onSuspend() {        // Called when the SDK needs to suspend the indicator.        // Add your implementation here.    }    func onResume() {        // Called when the SDK needs to resume the indicator.        // Add your implementation here.    } } ``` **Step 2.** Set your SampleIndicatorListener object to be the listener for the ProgressIndicator. ```swift // Create the instance of your custom indicator listener. var indicatorListener = SampleIndicatorListener() // Set the instance of your listener to the ProgressIndicator. ProgressIndicator.setListener(indicatorListener) ``` #### Working example in Tutorial app Refer to the following file for an example of customizing this UI: - SampleIndicatorListener.swift