{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Tyro Settings View","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"tyro-settings-view","__idx":0},"children":["Tyro Settings View"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A button must be provided for the administrators of your POS application to access Tyro settings."," ","Render the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TyroSettingsView"]}," to allow administrators to set a mandatory refund password and to access additional settings in the future."," ","Add this view to your application upon click of the settings button. Your POS administrators must be authenticated before this button can be accessed."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TyroSettingsView"]}," SwiftUI View in your application"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"TyroSettingsView()\n","lang":"swift"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-usage","__idx":1},"children":["Example Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"struct Home: View {\n  @Environment(\\.scenePhase) private var scenePhase: ScenePhase\n  private var contentViewModel: ContentViewModel\n\n  @State private var isSettingsPresented = false\n  @State private var selectedIndex: Int = 0\n\n  ...\n\n  var body: some View {\n    TabView(selection: $selectedIndex) {\n      NavigationStack {\n        VStack {\n          HStack {\n            Spacer(minLength: 0)\n            Image(.tyroLogo)\n              .resizable()\n              .aspectRatio(contentMode: .fit)\n              .frame(maxWidth: 100)\n              .padding()\n            Spacer(minLength: 0)\n            Button(action: {\n              isSettingsPresented.toggle()\n            }) {\n              Image(systemName: \"gear\")\n                .renderingMode(.template)\n                .resizable()\n                .frame(width: 25, height: 25)\n            }.fullScreenCover(isPresented: $isSettingsPresented) {\n              TyroSettingsViewWrapper()\n            }\n          }.padding()\n          ContentView(viewModel: contentViewModel)\n        }.navigationTitle(\"\")\n      }.tabItem {\n        Label(\"Home\", systemImage: \"house\")\n      }.tag(0)\n\n      NavigationStack {\n        TyroSettingsView().navigationTitle(\"Tyro Settings\")\n      }.tabItem {\n        Label(\"Admin\", systemImage: \"gear\")\n      }.tag(1)\n    }\n  }\n}\n\nstruct TyroSettingsViewWrapper: View {\n  @Environment(\\.dismiss) var dismiss\n  var body: some View {\n    NavigationStack {\n      ZStack {\n        TyroSettingsView()\n      }.toolbar(content: {\n        Button {\n          dismiss()\n        } label: {\n          Image(systemName: \"xmark\")\n        }\n      })\n    }\n  }\n}\n...\n","lang":"swift"},"children":[]}]},"headings":[{"value":"Tyro Settings View","id":"tyro-settings-view","depth":1},{"value":"Example Usage","id":"example-usage","depth":2}],"frontmatter":{"title":"Tyro Settings View","seo":{"title":"Tyro Settings View"}},"lastModified":"2026-09-02T01:02:13.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/in-person-payments/tap-to-pay/ios/sdk/tyro-settings-view","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}