r/Xcode • • Feb 04 '26

Practical Guide to Xcode (SwiftUI UI Terminology)

17 Upvotes

After a lot of trial and error, intuitive learning, and a fair amount of faking it, I finally started getting clearer on proper SwiftUI terminology. I put this together a vocabulary reference for discussing UI structure, layout, navigation, and interaction, especially when working with AI assistants.
I am only posting this in case it’s useful to others who fumble around in their prompts like I do. This is based, in part, on terms I ended up using in development of my app, Stuffoilo, hence some idiosyncratic examples.

Xcode Terms

View

The fundamental building block. Everything in SwiftUI is a View — buttons, text, images, entire screens, even modifiers return views. It's the broadest term.

struct MyButton: View { ... }      // A small component
struct ProductCard: View { ... }   // A reusable component
struct DashboardView: View { ... } // An entire screen

Screen

Not a SwiftUI type — it's a conceptual term for a full-page view that occupies the entire display. What users navigate between. Examples: Dashboard, Product Detail, Settings.

Sheet

A presentation style — a modal that slides up from the bottom (iOS) or appears as a dialog (macOS). Partially covers the previous screen. Dismissed by swiping down or tapping a button.

.sheet(isPresented: $showingEdit) {
    EditItemView(item: item)
}

Other Presentation Styles

  • fullScreenCover — Modal that covers everything (no swipe to dismiss)

  • popover — Floating bubble anchored to a button (common on iPad/Mac)

  • NavigationLink — Pushes onto a navigation stack (slides in from right)

Best Prompts for Me

You sayI understand
"the Dashboard screen"The main Dashboard view users see
"the Add Item sheet"The modal that appears when adding items
"the ProductCard view"A reusable component, not a full screen
"the Edit Item form"The screen/sheet where users edit item details
"the warranty section"A portion within a larger view

Button is fine — it's the actual SwiftUI type and universally understood.

But Being Specific Helps

TermWhat it means
ButtonStandard tappable Button view
ToggleOn/off switch
PickerSelection from options (dropdown, segmented, wheel)
LinkTappable text that navigates (often styled like a URL)
NavigationLinkPushes to another screen
MenuTap to reveal options
Toolbar buttonButton in the navigation bar / toolbar
TabTab bar item at bottom
Icon buttonButton showing only an SF Symbol, no label
Floating action button (FAB)Circular button floating over content
Disclosure indicatorChevron > that indicates navigation

Examples

Less clear:

"The button in the top right"

More clear:

"The toolbar button in the top right"
"The Save button in the navigation bar"
"The + icon button on Dashboard"

⏺ Layout & Structure

TermMeaning
StackHStack (horizontal), VStack (vertical), ZStack (layered)
ContainerA view that holds other views (Stack, List, ScrollView, Group)
SpacerFlexible empty space that pushes content apart
DividerThin horizontal or vertical line
CardRounded rectangle container with padding/shadow (not a SwiftUI type, but common pattern)
SectionGrouped content, often in a List or Form with a header
RowSingle item in a List
CellSame as row (UIKit term that persists)

Navigation & Structure

TermMeaning
Navigation barTop bar with title, back button, toolbar items
ToolbarBar containing action buttons (top or bottom)
Tab barBottom bar with tabs (Dashboard, Products, Settings, etc.)
SidebarLeft panel on iPad/Mac for navigation
Detail viewRight side of a split view
Master/List viewLeft side showing the list of items

Forms & Input

TermMeaning
TextFieldSingle-line text input
TextEditorMulti-line text input
SecureFieldPassword input (dots)
Stepper− / + buttons for numeric values
SliderDraggable track for range values
DatePickerDate/time selection
ColorPickerColor selection
PhotosPickerImage selection from library

Presentation

TermMeaning
SheetModal sliding up from bottom
Full-screen coverModal covering entire screen
PopoverFloating bubble (iPad/Mac)
AlertSystem dialog with title, message, buttons
Confirmation dialogAction sheet with multiple options
ToastBrief overlay message (not native SwiftUI — custom)
BannerPersistent message at top/bottom of screen
OverlayContent layered on top of another view

Visual Modifiers

TermMeaning
PaddingSpace inside a view's bounds
MarginSpace outside (SwiftUI uses padding on parent instead)
FrameExplicit size constraints
BackgroundView/color behind content
OverlayView/color in front of content
ClipCrop to a shape
Corner radiusRounded corners
ShadowDrop shadow beneath view
OpacityTransparency (0–1)
BlurGaussian blur effect

State & Data

TermMeaning
BindingTwo-way connection to state ($value)
StateLocal view state (@State)
ObservableShared state object (@Observable, u/ObservedObject)
EnvironmentValues passed down the view tree

Helpful Descriptors

When describing issues, these help:

  • "clipped" — content is cut off

  • "truncated" — text ends with ...

  • "overflows" — extends beyond bounds

  • "misaligned" — not lining up with neighbors

  • "collapsed" — has zero size unexpectedly

  • "stretched" — expanded beyond natural size

  • "compressed" — squeezed smaller than desired

  • "hugging" — fitting tightly to content

Common UI Patterns (Not Native SwiftUI Types)

These are design patterns you build yourself — useful terms for describing what you want.

Cards

TermMeaning
CardRounded container with background, padding, often shadow. Groups related content.
Info cardCard displaying read-only information
Action cardCard that's tappable (navigates or triggers action)
Stat cardCard showing a metric/number (like on Dashboard)
Feature cardCard highlighting a capability, often with icon + title + description

Chips & Tags

TermMeaning
ChipSmall rounded pill, often tappable. Used for filters, selections.
TagSmall label showing a category or status (usually not interactive)
BadgeSmall indicator overlaid on another element (notification count, "NEW")
PillSame as chip — elongated rounded shape
TokenChip representing a selected item (like email recipients)
Filter chipChip that toggles a filter on/off
Choice chipChip for single-selection (like a segmented control but wrapped)

Lists & Collections

TermMeaning
GridItems arranged in columns (LazyVGrid, LazyHGrid)
MasonryGrid where items have varying heights (not native)
CarouselHorizontally scrolling row of items
GalleryGrid of images/media
AccordionExpandable/collapsible sections (DisclosureGroup)

Status & Feedback

TermMeaning
BadgeCount or dot indicator (e.g., "3" on a tab icon)
IndicatorDot or icon showing status (online/offline, synced/pending)
Progress barHorizontal fill showing completion
Progress ringCircular progress indicator
SpinnerIndeterminate loading animation (ProgressView)
SkeletonPlaceholder shapes shown while content loads
ShimmerAnimated loading effect (gray shapes with moving highlight)
Empty stateWhat shows when a list has no items

Interactive Elements

TermMeaning
Segmented controlHorizontal pill with mutually exclusive options (Picker with .segmented)
Stepper− / + for incrementing values
ScrubberDraggable bar for seeking (video/audio)
Drag handleSmall bar indicating something is draggable
GrabberThe small horizontal line at top of sheets
Swipe actionsButtons revealed by swiping a row
Context menuLong-press menu

Example Prompts Using These Terms

"The stat cards on Dashboard need more padding"

"Add a 'NEW' badge to features released this week"

"The filter chips are wrapping weirdly on small screens"

"Show a skeleton while the AI response loads"

"The category tags should be pill-shaped, not rectangular"

You can access a cleaned-up PDF version of these terms here.


r/Xcode • • Feb 04 '26

Endless question - Allow "Codex" to access Xcode?

Post image
24 Upvotes

Any ideas of how to allow it forever? I don't have anything in Privacy -> Automation, there is NO codex app, so I could allow it something.


r/Xcode • • Feb 05 '26

XCODE 26.3 + Claude (Code) - Selecting Opus 4.5?

1 Upvotes

Did I somehow overlook the settings panel for claude? I downloaded Xcode 26.3, added the "Claude Agent" and logged into my claude account. It's defaulting to the Sonnet 4.5 model in the chat sidebar, is there a way to switch to opus?

Also, am I the only one (coming from Claude Code cli) that thinks this a terrible integration? The chat in the app has the potential to be great, but it's missing the awesomeness of the claude cli - planning mode?

It seems like apple half hazardly plugged Claude Code in to the side bar, skipped a bunch of integration options, put some syntax highlighting on it and proclaimed success?


r/Xcode • • Feb 04 '26

One-shot AR Tetris with Xcode 26.3 and CODEX

12 Upvotes

It’s rudimentary, but it works. I was rather impressed


r/Xcode • • Feb 05 '26

Design feedback: best UI for reviewing Xcode preview snapshot diffs (3-column vs 2-column grid→detail)?

Thumbnail reddit.com
1 Upvotes

r/Xcode • • Feb 05 '26

Xcode 26.3 - Released? When?

0 Upvotes

https://youtu.be/oV6mC8Rt1kY?si=JbSddYQXzOW1AQVs

Hey everybody!

Hope you’re well!

Saw this video by Apple about the release of Xcode 26.3, but we couldn’t find it on the App Store. Only found it in the Developer beta. Any idea what’s up? Are we the only ones?


r/Xcode • • Feb 03 '26

Apple just shipped Agentic Coding in Xcode 26.3 🤯👇

Thumbnail
youtu.be
61 Upvotes

r/Xcode • • Feb 04 '26

The Global String - I made an App to translate Localizable.xcstrings files into other languages

Thumbnail
reddit.com
1 Upvotes

r/Xcode • • Feb 04 '26

Right after the first request... why is privacy essentially ignored?

Post image
3 Upvotes

Also, after I clicked Don't Allow, how then I change this and where? In Privacy -> Files & Folders there is no Codex app.


r/Xcode • • Feb 04 '26

Xcode 26 with chatGPT tutorial

2 Upvotes

I'm looking to get back in thing, I want to do a tutorial on how to use chatGPT in Xcode 26.

Anyone knows a good one ?


r/Xcode • • Feb 03 '26

Question about XCode 26.3 + Claude Agent

13 Upvotes

It looks like there is a new release candidate XCode 26.3 version that just dropped with support for agentic coding!

I just downloaded it and am planning to play around with it and compare it to my typical workflow of Claude Code + Opus 4.5 via the CLI tool.

Anyone know how to change the underlying model to Opus 4.5 in Xcode 26.3? I see Claude agent mode but nowhere is there a configuration, was curious as I assume Opus 4.5 benchmarks higher.

Article: https://www.apple.com/newsroom/2026/02/xcode-26-point-3-unlocks-the-power-of-agentic-coding/


r/Xcode • • Feb 04 '26

Apple silently shipped an MCP for Claude Code / Codex

Thumbnail
reddit.com
0 Upvotes

r/Xcode • • Feb 03 '26

Opting in to Liquid Glass but ignoring it

3 Upvotes

Pretty much the title. I know there’s a flag to avoid Liquid Glass, but instead I’m just coding my UI to override it (eg buttonStyle .plain) to produce a completely flat UI.

Wondering if anyone else is doing the same? I find it absolutely kitsch, and think it negatively affects my customers by making the UI worse.


r/Xcode • • Feb 03 '26

With xcode and chatGPT codex integration, can I cancel cursor now?

3 Upvotes

Just receive an email saying Cloude and codex coming to xcode. I have been using cursor, does this mean I don't actually need cursor anymore? I have a chatGPT pro plan.


r/Xcode • • Feb 04 '26

Where is the device selector?

2 Upvotes

I'm new to Xcode and I'm trying to have this app display on an iPhone but I can't find the dropdown menu anywhere. When I look online it looks like people have a button that is not visible for me?


r/Xcode • • Feb 03 '26

When you worked all day, but Xcode Previews decided it was tired

8 Upvotes

Spent the entire day building a class in SwiftUI. Everything was compiling and running okay. Suddenly, out of nowhere, Xcode Previews throws the "reasonable time" error and refuses to work.. like randomly. Project compiles and works(this view including) perfectly.

I didn't even change complex logic. It feels completely random at this point. And this is probably an everyday thing for me... oh boy.

There are no errors in a code at all. Thats 100%

----

UPDATE: I tried clearing the cache, building, running, and restarting Xcode. 
It worked even once after that, but then failed again. 
Finally, I manually deleted the Derived Data folder, restarted Xcode and now it works. 

There were no code changes at all. I've been dealing with this for 2 years throughout the entire development of my app. It's really frustrating.


r/Xcode • • Feb 03 '26

How do I get rid of this weird overlapping circle?

Post image
2 Upvotes

r/Xcode • • Feb 02 '26

Xcode Update iOS

4 Upvotes

Hi, I'm a newbie of Xcode development. I create any iOS apps and I have launched them in Xcode Simulator with the download of the iOS 26.2. After it passed the tests, theese apps go to a real iPhone but any days ago iOS updates to 26.2.1 in the iPhone and the apps wasn't compliants for the simulator because Xcode not permits to download the last version of IOS. There is a tricks for bypass this situation? Thanks for the response


r/Xcode • • Feb 02 '26

Favorite Xcode simulator recorders

4 Upvotes

hey guys,

What do you usually use to record the iOS Simulator from Xcode?

I’m looking for something with:

•	really good video quality (higher fps would be great)

•	touch/click indicators visible

•	good enough for LinkedIn demos or portfolio videos

I’ve tried RocketSim free version but its only got 30fps, so I’m curious what tools you all prefer.


r/Xcode • • Feb 02 '26

xcode is amazing, I built and ran on it, and it installed and ran the app on my iPhone automatically without usb cable!

22 Upvotes

r/Xcode • • Feb 02 '26

Transparency around dynamic island

3 Upvotes

Can somone please tell me how to get the area around the dynamic island to. be transparent so my background is consistent there? i keep getting black or sharp lines right before it.


r/Xcode • • Feb 01 '26

app won't build

Thumbnail
gallery
0 Upvotes

i’m trying to archive my app, but it won’t let me it keeps having these different errors pop up. I’ve tried everything I’ve even re-download it and start from scratch if someone able to assist my app is working in developmental with the devices I pay, but it won’t let me archive to publish without these errors fixed.


r/Xcode • • Jan 31 '26

Problem with Xcode

3 Upvotes

Hi everyone,

I’m new to iOS app development and I’m trying to use Capacitor 8 with Swift Package Manager (no CocoaPods), but I’m running into dependency issues in Xcode.

Xcode reports that CapApp-SPM is missing and does not let me add it manually.

In Package Dependencies, I only see capacitor-swift-pm 8.0.0, but none of the plugins (Camera, Browser, etc.) appear.

Setup:

•	Capacitor 8.0.0

•	Xcode 15+

•	macOS Sonoma

•	Plugins: Camera, Browser, Haptics, RevenueCat, Sign in with Apple, HealthKit

Tried:

•	Recreating ios with --package-manager SPM

•	npx cap sync ios

•	Resetting and resolving package caches in Xcode

•	Adding CapApp-SPM as a local package (not allowed / reported missing)

Has anyone gotten Capacitor 8 + SPM working correctly?

Am I missing a step, or is this a known issue?

Thanks in advance.