TextやButtonなど、URLを文字列で格納しているViewを押下した際に、外部ブラウザを開いてしまう問題。
以下の場合、Text("遷移した")に遷移せずに、外部ブラウザ(safari)でhttps://qiita.com/trend を開いてしまう
VStack(spacing: 30) {
NavigationLink(destination: Text("遷移した")) {
Text("https://qiita.com/trend")
}
}
.foregroundColor(Color.materialColor(colorCode: .amber))
.background(Color.materialColor(colorCode: .teal))
解決
遷移させたいURLを変数に格納して使うことで、外部ブラウザを開くのを回避することができる。
VStack(spacing: 30) {
let URL = "https://qiita.com/trend"
NavigationLink(destination: Text("遷移した")) {
Text(URL)
}
}
.foregroundColor(Color.materialColor(colorCode: .amber))
.background(Color.materialColor(colorCode: .teal))