# Visual constructor

***

Test out the best Paywalls and Welcome pages of your iOS Apps with Appflow\.ai Visual Constructor.

### **Paywall**

The SDK provides a shortcut for displaying paid products. After setting the style in Appflow\.ai plaltform, you can display it by call method:

```swift
Appflow.shared.loadPaywallToPurachase {[weak self] result, msg in
    guard let `self` = self else { return }
    if result == false {
        //if false , Developers can jump to the native payment page
    }
}
```

### **Welcome Page**

The SDK adds the View of AppflowWelcomePage. If the user needs to start the welcome page, the configuration of the page needs to be configured on the Appflow\.ai platform. The welcome page loading method can be referred to as follows:

```swift
// loading WelcomPage
func loadLaunchScreenView() {
    // customized launch screen
    if let window = self.window {
        window.backgroundColor = .white
        let welcomPageView = AppflowWelcomePage(frame: window.bounds)
        welcomPageView.waitingTime = 6
        self.window?.makeKeyAndVisible()
        self.window?.addSubview(welcomPageView)
        self.window?.bringSubviewToFront(welcomPageView)
    }
}
```

{% hint style="info" %} <mark style="color:blue;">**Note**</mark>

It may take time to load the welcome page for the first time. The default loading waiting time is the 30s. Users can set waiting time according to their needs.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.appflow.ai/docs/sdk-set-up-instructions/ios-sdk/visual-constructor.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
