6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SwiftUIAdvent Calendar 2022

Day 5

イニシャライザにBundleを渡せるView一覧(SwiftUI)

Last updated at Posted at 2022-12-05

はじめに

本記事は 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つのみと言っていたので、おそらく他にはありません。

TextFieldLabel などのViewでも、 LocalizedStringKeyBundle の両方を渡せるようになってほしいです。

現状では String(localized:) などを使ってローカライズされた文字列を String で取得して渡すか、だいたいのViewには label: でテキストのViewを渡せるようになっているので、そこで Text を渡すかの2択だと思います。

どちらを使うかは好みだと思います。
私は前者が好みですが、いろいろ試すうちに考えが変わるかもしれません。

以上 SwiftUI Advent Calendar 2022 の5日目の記事でした。
明日は @417_72ki さんで「GeometryReaderとSafeAreaの話(仮)」です。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?