<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Coding on 5bz.de</title><link>https://www.5bz.de/tags/coding/</link><description>Privater Blog mit den Themen Software Entwicklung, Fotografie, Musik, Gaming und alles was so vorbei kommt.</description><generator>Hugo</generator><language>de-DE</language><managingEditor>Sven Bautz</managingEditor><webMaster>Sven Bautz</webMaster><atom:link href="https://www.5bz.de/tags/coding/index.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Tue, 04 Feb 2025 14:46:50 +0100</lastBuildDate><item><title>ScrollView Scroll To</title><link>https://www.5bz.de/posts/scrollview-scroll-to/</link><pubDate>Tue, 04 Feb 2025 14:46:50 +0100</pubDate><guid>https://www.5bz.de/posts/scrollview-scroll-to/</guid><description>&lt;p&gt;Below you will find a little code snippet to scroll a ScrollView to a defined position.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#fff;background-color:#1f1f24;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-swift" data-lang="swift"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ScrollViewReader { reader &lt;span style="color:#fc5fa3"&gt;in&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;ScrollView {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&#9;ForEach(messages) { message &lt;span style="color:#fc5fa3"&gt;in&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&#9;&#9;MessageBubble(message: message.message, isFromCurrentUser: message.fromUser)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&#9;&#9;.id(message.id)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;.onChange(of: messages.&lt;span style="color:#a167e6"&gt;count&lt;/span&gt;) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&#9;withAnimation {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&#9;&#9;reader.scrollTo(messages.&lt;span style="color:#a167e6"&gt;last&lt;/span&gt;?.id, anchor: .top)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;&#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#9;.padding()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description><content:encoded><![CDATA[<p>Below you will find a little code snippet to scroll a ScrollView to a defined position.</p>
<div class="highlight"><pre tabindex="0" style="color:#fff;background-color:#1f1f24;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-swift" data-lang="swift"><span style="display:flex;"><span>ScrollViewReader { reader <span style="color:#fc5fa3">in</span>
</span></span><span style="display:flex;"><span>	ScrollView {
</span></span><span style="display:flex;"><span>		ForEach(messages) { message <span style="color:#fc5fa3">in</span>
</span></span><span style="display:flex;"><span>			MessageBubble(message: message.message, isFromCurrentUser: message.fromUser)
</span></span><span style="display:flex;"><span>			.id(message.id)
</span></span><span style="display:flex;"><span>		}
</span></span><span style="display:flex;"><span>	}
</span></span><span style="display:flex;"><span>	.onChange(of: messages.<span style="color:#a167e6">count</span>) {
</span></span><span style="display:flex;"><span>		withAnimation {
</span></span><span style="display:flex;"><span>			reader.scrollTo(messages.<span style="color:#a167e6">last</span>?.id, anchor: .top)
</span></span><span style="display:flex;"><span>		}
</span></span><span style="display:flex;"><span>	}
</span></span><span style="display:flex;"><span>	.padding()
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div>]]></content:encoded><category>coding</category><category>swift</category><category>iOS</category><category>SwiftUI</category></item></channel></rss>