ビスター(Vistar)
ビスター(Vistar)
1,255 posts
ビスター(Vistar)
@Lmssync
UIKit SwiftUI Exploring Internals
ビスター(Vistar)’s posts
Apple’s first-party apps use the “SystemChromeBackground” style for onboarding screens, but this style is not publicly available. However, it has been discovered that its raw value is 1100, making it accessible through the following extension:
Icon Composerは個人開発者のオリジナルアイコンが、全部それっぽく見えるようになる神ツール
これが WWDC25で正式に公開されそうとのこと
SwiftUIのNative WebView
既存の SwiftUIコードに2行足すだけで、最近流行りの?Navigation Titleの出現タイミングと内容をカスタムするパッケージを作りましたー
github.com/Chronos2500/Cu
デモ
The media could not be played.
Apple Musicのプレイヤーのように
・下層ビューの沈み込み効果
・FullScreen状態からのスワイプDismiss
を実現するPrivate API
_wantsFullScreen = true
_allowsInteractiveDismissWhenFullScreen = true
The media could not be played.
UIKit's ZoomTransition is incredibly smooth and comfortable to use. When I was using ZoomTransition with SwiftUI List, it was full of lag and provided the worst user experience...
Maybe it's time to go back to UIKit.
The media could not be played.
SwiftUIで再現してみた
VariableBlur+透明度変化
ちなみにVariableBlurはUIBlurEffectの非公開メソッド
Here’s a native API that powers auto-scrolling **Marquee Labels** — the same effect used in Apple Music’s Now Playing screen. Sadly, it’s a private API, but I’ve attached sample code snippets for both UIKit and SwiftUI
The media could not be played.
いつからあったのか分かりませんが、SwiftUIのMenuをカスタマイズするという素晴らしいドキュメントが出ていました
iOS 26対応済みです
sheetやfullScreenCoverのViewに.navigationTransition(.zoom)を付与するだけで、中央が消失点になるアニメーションが適用される
ドキュメントにも書いてない挙動だけど、ChatGPTアプリの画像Viewerは多分これ
The media could not be played.
iOS18.1でsheetの.interactiveDismissDisabled()が機能しないというバグ発見
SwiftUI使いの方ご注意を...
The media could not be played.
アプリ内ブラウザSFSafariViewControllerが SwiftUIで簡単に使用可能になりました
.onOpenURL(prefersInApp: true)
SwiftUIでTextを"+"で複数連結させる構成は、ローカライズが困難になるため 非推奨になりました
Text concatenation using the + operator is deprecated because it makes it hard to create localized strings that are correct across all languages.
Hidden gem in SwiftUI
_backdropEffect is a fantastic private SwiftUI API that applies blur/saturation behind your content.
It really should be public!
blur+saturation blur
The media could not be played.
The media could not be played.
メッセージにリアクションボタンを置くUIをAppleはUIContextMenuAccessoryViewというAPIを使用しているが、これはプライベートAPIなので各社ContextMenuごと独自実装してるの可哀想
①iMessage、②X、③Instagram
iOS18.4+で静かに追加されたfunc contentToolbar
SwiftUIで特定のViewに依存しないToolbarを定義できる
デザインラボにて(その2)
Q: AndroidやWebとの一貫性が必要でも、Liquid Glassなどのネイティブコントロールを使うにはデザイナーをどう説得すべき?
(1/3)
AppStoreのようなNavigationBarを SwiftUIで使えるようにしています!
I’m making an App Store-style NavigationBar for SwiftUI!
This is a (new?) screen from Apple’s TestFlight app. Apple’s engineers or QA haven’t noticed that the close button is an ‘X’ 
まさしくこれですねUIDesignRequiresCompatibility
過去デザインの使用は一時的にするように書かれていますが...
developer.apple.com/documentation/
Quote
崎山圭@iOSアプリエンジニアで工学博士で専門学校の講師
@sakiyamaK
あーでもたぶんinfo.plistにデザインタイプとかの項目が増えて、半透明デザインかレガシーデザインか選べるとか増えそうな気がする