<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/dismissing-a-multiline-text-field-with-the-return-key-in-swiftui-mnby9yp8u" -->

---
title: Dismissing a multiline text field with the return key in...
description: SwiftUI&#x27;s multiline TextField (with axis: .vertical) doesn&#x27;t dismiss the keyboard on return key press like a single-line field does. This post shows how to...
canonical: https://daily.dev/posts/dismissing-a-multiline-text-field-with-the-return-key-in-swiftui-mnby9yp8u
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Dismissing a multiline text field with the return key in SwiftUI | daily.dev
og:description: SwiftUI&#x27;s multiline TextField (with axis: .vertical) doesn&#x27;t dismiss the keyboard on return key press like a single-line field does. This post shows how to...
og:url: https://daily.dev/posts/dismissing-a-multiline-text-field-with-the-return-key-in-swiftui-mnby9yp8u
og:image: https://api.daily.dev/og/posts/Mnby9yp8U.png
og:image:alt: Dismissing a multiline text field with the return key in SwiftUI
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.

# Dismissing a multiline text field with the return key in SwiftUI

**[Daniel Saidi](https://daily.dev/sources/danielsaidi)** · 4 min read · 0 upvotes · 0 comments

## Summary

SwiftUI's multiline TextField (with axis: .vertical) doesn't dismiss the keyboard on return key press like a single-line field does. This post shows how to work around this using FocusState and onChange to detect newline characters and programmatically remove focus. It then demonstrates how to package this logic into a reusable ViewModifier and View extension called onMultilineSubmit, which also supports an optional callback action and works with TextEditor.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://danielsaidi.com/blog/2023/09/15/dismissing-a-multiline-textfield-with-the-return-key-in-swiftui>

## Similar posts on daily.dev

- [SwiftUI FocusState: A Little Pitfall I Fall Into](https://daily.dev/posts/swiftui-focusstate-a-little-pitfall-i-fall-into-zupik4ecv) · gitconnected · 0 upvotes · 0 comments
- [Create your keyboard for App theme: Customizing Keyboard in SwiftUI](https://daily.dev/posts/create-your-keyboard-for-app-theme-customizing-keyboard-in-swiftui-9x2zf2yf5) · Medium · 0 upvotes · 0 comments

---

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

[View this post on daily.dev](https://daily.dev/posts/dismissing-a-multiline-text-field-with-the-return-key-in-swiftui-mnby9yp8u)

```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":"Dismissing a multiline text field with the return key in SwiftUI","url":"https://daily.dev/posts/dismissing-a-multiline-text-field-with-the-return-key-in-swiftui-mnby9yp8u","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/dismissing-a-multiline-text-field-with-the-return-key-in-swiftui-mnby9yp8u"},"datePublished":"2026-07-05T07:13:30.792Z","dateModified":"2026-07-05T07:14:39.145Z","description":"SwiftUI's multiline TextField (with axis: .vertical) doesn't dismiss the keyboard on return key press like a single-line field does. This post shows how to...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7186a6ef1a7c8f1bc3c139bfdfde5641?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7186a6ef1a7c8f1bc3c139bfdfde5641?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Daniel Saidi","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":"Daniel Saidi","logo":"https://media.daily.dev/image/upload/s--RRuTMOCm--/f_auto,q_auto/v1783235599/logos/danielsaidi?_a=BAMAMicg0","url":"https://daily.dev/sources/danielsaidi"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/dismissing-a-multiline-text-field-with-the-return-key-in-swiftui-mnby9yp8u","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ios,swift,swiftui","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Daniel Saidi","item":"https://daily.dev/sources/danielsaidi"},{"@type":"ListItem","position":3,"name":"Dismissing a multiline text field with the return key in SwiftUI"}]}
```

