<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-people-s-hands-hm60msu8c" -->

---
title: Issue #93: iOS 27.2 is out, UIView margins went to zero,...
description: iOS 27.2 shipped and changed a UIKit default: on iOS 27.1+, a UIView's default layout margins are now zero instead of 8 points, so subviews pinned to...
canonical: https://daily.dev/posts/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-people-s-hands-hm60msu8c
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Issue #93: iOS 27.2 is out, UIView margins went to zero, and the Duo is in people's hands | daily.dev
og:description: iOS 27.2 shipped and changed a UIKit default: on iOS 27.1+, a UIView's default layout margins are now zero instead of 8 points, so subviews pinned to...
og:url: https://daily.dev/posts/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-people-s-hands-hm60msu8c
og:image: https://api.daily.dev/og/posts/hm60Msu8C.png
og:image:alt: Issue #93: iOS 27.2 is out, UIView margins went to zero, and the Duo is in people's hands
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Issue #93: iOS 27.2 is out, UIView margins went to zero, and the Duo is in people's hands

**[iOS Code Review](https://daily.dev/sources/ioscodereview)** · 11 min read · 0 upvotes · 0 comments

## Summary

iOS 27.2 shipped and changed a UIKit default: on iOS 27.1+, a UIView's default layout margins are now zero instead of 8 points, so subviews pinned to layoutMarginsGuide now touch the edges. The fix is setting preservesSuperviewLayoutMargins = true or explicit directionalLayoutMargins. The ATT expanded prompt API was renamed from usingExpandedInterface to preferExpandedInterface before release, breaking beta code. Multiseat subscriptions for businesses and schools went live October 22, on by default. Xcode's suggested fix for the deprecated URL.path can break file paths with spaces; use url.absoluteURL.path(percentEncoded: false) instead. SwiftUI Table is reportedly broken on the new iPhone Duo, and LazyHStack's default spacing causes paging drift unless set to zero.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ioscodereview.com/issues/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-peoples-hands>

## Questions this post answers

### Why did my UIView subviews suddenly lose their 8 point margins after updating to iOS 27.2?

On iOS 27.1 and later, Apple changed the default layout margins for a UIView to zero, down from the 8 points UIKit previously provided. A view controller's root view still receives systemMinimumLayoutMargins, but any subview you create, like a container or custom cell content view, now starts with zero margins. Fix it by setting preservesSuperviewLayoutMargins = true or setting directionalLayoutMargins explicitly.

_daily.dev surfaces platform-default changes like this so layout regressions don't slip into production._

### Why does Xcode's suggested fix-it for the deprecated URL.path break my file paths?

Xcode suggests replacing URL.path with path(percentEncoded:), but that method defaults percentEncoded to true, so spaces in a path become '%20' instead of staying as spaces, unlike the old path property. It also behaves differently for relative URLs since macOS 26. The safe replacement is url.absoluteURL.path(percentEncoded: false), which matches the old behavior.

_developers weighing deprecation fix-its against real behavior changes track these gotchas on daily.dev._

### Did the App Tracking Transparency expanded prompt API change its name between beta and the final iOS 27.2 release?

Yes, requestTrackingAuthorization(usingExpandedInterface:...) was renamed to requestTrackingAuthorization(preferExpandedInterface:...) before the final release, and the Objective-C equivalent became requestTrackingAuthorizationPreferringExpandedInterface:. Code written against beta 1 of the expanded ATT prompt, which became mandatory in France, Germany, Italy, Poland, and Romania, won't compile against the final SDK without updating the call.

_daily.dev helps developers shipping EU compliance updates catch API renames before a failed build._

## Similar posts on daily.dev

- [How to use layoutMarginsGuide in SwiftUI](https://daily.dev/posts/how-to-use-layoutmarginsguide-in-swiftui-tjlzinkyn) · Sarunw · 0 upvotes · 0 comments
- [Xcode 27 Beta 2 and Swift 6.4: What Every iOS Engineer Needs to Know Right Now](https://daily.dev/posts/xcode-27-beta-2-and-swift-6-4-what-every-ios-engineer-needs-to-know-right-now-0ufbxdjcg) · Medium · 1 upvotes · 0 comments
- [Issue \#83: Liquid Glass goes mandatory, Foundation Models opens up, and non-modal panels in SwiftUI](https://daily.dev/posts/issue-83-liquid-glass-goes-mandatory-foundation-models-opens-up-and-non-modal-panels-in-swiftui-3iaih8wgv) · iOS Code Review · 0 upvotes · 0 comments

---

Tags: [#ios](https://daily.dev/tags/ios), [#accessibility](https://daily.dev/tags/accessibility), [#swiftui](https://daily.dev/tags/swiftui), [#xcode](https://daily.dev/tags/xcode)

[View this post on daily.dev](https://daily.dev/posts/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-people-s-hands-hm60msu8c)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Issue #93: iOS 27.2 is out, UIView margins went to zero, and the Duo is in people's hands","url":"https://daily.dev/posts/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-people-s-hands-hm60msu8c","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-people-s-hands-hm60msu8c"},"datePublished":"2026-10-28T16:49:57.389Z","dateModified":"2026-10-28T17:05:07.848Z","description":"iOS 27.2 shipped and changed a UIKit default: on iOS 27.1+, a UIView's default layout margins are now zero instead of 8 points, so subviews pinned to...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4a5e84bda52ee9f80e6136903a6e07ce?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4a5e84bda52ee9f80e6136903a6e07ce?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"iOS Code Review","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"iOS Code Review","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5d937acbc49545b0a7a2753a5c02b2e3","url":"https://daily.dev/sources/ioscodereview"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-people-s-hands-hm60msu8c","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ios,accessibility,swiftui,xcode","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"iOS Code Review","item":"https://daily.dev/sources/ioscodereview"},{"@type":"ListItem","position":3,"name":"Issue #93: iOS 27.2 is out, UIView margins went to zero, and the Duo is in people's hands"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/issue-93-ios-27-2-is-out-uiview-margins-went-to-zero-and-the-duo-is-in-people-s-hands-hm60msu8c#faq","mainEntity":[{"@type":"Question","name":"Why did my UIView subviews suddenly lose their 8 point margins after updating to iOS 27.2?","acceptedAnswer":{"@type":"Answer","text":"On iOS 27.1 and later, Apple changed the default layout margins for a UIView to zero, down from the 8 points UIKit previously provided. A view controller's root view still receives systemMinimumLayoutMargins, but any subview you create, like a container or custom cell content view, now starts with zero margins. Fix it by setting preservesSuperviewLayoutMargins = true or setting directionalLayoutMargins explicitly. daily.dev surfaces platform-default changes like this so layout regressions don't slip into production."}},{"@type":"Question","name":"Why does Xcode's suggested fix-it for the deprecated URL.path break my file paths?","acceptedAnswer":{"@type":"Answer","text":"Xcode suggests replacing URL.path with path(percentEncoded:), but that method defaults percentEncoded to true, so spaces in a path become '%20' instead of staying as spaces, unlike the old path property. It also behaves differently for relative URLs since macOS 26. The safe replacement is url.absoluteURL.path(percentEncoded: false), which matches the old behavior. developers weighing deprecation fix-its against real behavior changes track these gotchas on daily.dev."}},{"@type":"Question","name":"Did the App Tracking Transparency expanded prompt API change its name between beta and the final iOS 27.2 release?","acceptedAnswer":{"@type":"Answer","text":"Yes, requestTrackingAuthorization(usingExpandedInterface:...) was renamed to requestTrackingAuthorization(preferExpandedInterface:...) before the final release, and the Objective-C equivalent became requestTrackingAuthorizationPreferringExpandedInterface:. Code written against beta 1 of the expanded ATT prompt, which became mandatory in France, Germany, Italy, Poland, and Romania, won't compile against the final SDK without updating the call. daily.dev helps developers shipping EU compliance updates catch API renames before a failed build."}}]}
```

