Advanced Configuration for iOS SDK

We know not all apps are made the same, so we try to make User Hook as customizable as possible. Out of the box, User Hook provides a basic set of UI components. After following the installation guide, there is no additional configuration required.

Visual Styling

If you would like to customize fonts and colors for visual elements like the NavigationBar, we suggest you look at using the appropriate UIAppearance functionality. For styling of content inside Feedback Pages, Surveys, Static Pages, and Messages, please refer to the visual styling instructions.


Some hook point types like surveys will automatically display a view controller within your app. These view controllers
are attached to a UINavigationController to better fit into the native iOS visual style. If your app uses a custom
UINavigationController, you can tell the SDK about this custom class by assigning the navControllerClassName property of the
UserHook shared instance. Once you assign the navControllerClassName the SDK will use that class anytime it needs
to create a new UINavigationController.

Assigning the navControllerClassName is best done during the app launch.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    // Override point for customization after application launch.

    // setup User Hook
    [UserHook setApplicationId:@"YOUR_USERHOOK_APP_ID" apiKey:@"YOUR_USERHOOK_APP_KEY"];
    // assign a custom UINavigationController class
    [UserHook sharedInstance].navControllerClassName = @"CustomNavigationControllerClassName";