はじめに
本記事は SwiftUI Advent Calendar 2022 の5日目の記事です。
昨日も私で ForEachで値のほかにインデックスも使う方法(SwiftUI) でした。
イニシャライザに Bundle
を渡せるSwiftUIのViewを、一覧で紹介します。
私はSwift Packages内でリソースを管理することが多いので、 bundle: .module
を渡せるViewの一覧があると便利だと思いました。
環境
- OS:macOS Ventura 13.0.1
- Xcode:14.1 (14B47b)
- Swift:5.7.1
イニシャライザにBundleを渡せるView一覧
Text
のように、イニシャライザに Bundle
を渡せるViewを紹介します。
イニシャライザが複数ある場合、代表的なもののみ載せています。
View | 代表的なイニシャライザ |
---|---|
Text | Text(_:tableName:bundle:comment:) |
Image | Image(_:bundle:) |
Color | Color(_:bundle:) |
おわりに
私が調べた限りだと3つのみでした。
@treastrain さんもiOS 16時点ではこの3つのみと言っていたので、おそらく他にはありません。
TextField
や Label
などのViewでも、 LocalizedStringKey
と Bundle
の両方を渡せるようになってほしいです。
現状では String(localized:)
などを使ってローカライズされた文字列を String
で取得して渡すか、だいたいのViewには label:
でテキストのViewを渡せるようになっているので、そこで Text
を渡すかの2択だと思います。
どちらを使うかは好みだと思います。
私は前者が好みですが、いろいろ試すうちに考えが変わるかもしれません。
以上 SwiftUI Advent Calendar 2022 の5日目の記事でした。
明日は @417_72ki さんで「GeometryReaderとSafeAreaの話(仮)」です。