#swift #swiftui #tabview
Вопрос:
Я пытаюсь создать представление вкладок для приложения macOS 10.15.
TabView { BookmarksView() .tabItem { Text("Bookmark Settings") } DisplaySettings() .tabItem { Text("Display Settings") } }
И в любом из моих представлений, включенных во вкладку, у которой есть один элемент в теле, он правильно отображается в представлении вкладки.
struct BookmarksView: View { var body: some View { Text("Bookmarks View") .font(.title) .font(Font.body.bold()) } }
Но если я добавлю какой-либо другой элемент в представление, вкладка повторится и отобразит добавленный элемент на своей собственной вкладке.
struct BookmarksView: View { var body: some View { Text("Bookmarks View") .font(.title) .font(Font.body.bold()) Text("Testing") .font(.system(size: 15)) } }
Комментарии:
1. Я думаю, вам, возможно, потребуется добавить к ним тег или что-то в этом роде.
2. Ваш код хорошо работает для меня (не повторяется) в бета-версии macos 12.1, используя Xcode 13.2-бета. Ваша проблема может быть связана с macos 10.15. Примечание; он также хорошо работает, когда я нацелен на macos 10.15, но запускаю его в бета-версии macos 12.1.
Ответ №1:
Попробуйте явно завернуть их в контейнер (стек или что-то в этом роде), например
struct BookmarksView: View { var body: some View { VStack { // lt;lt; this !! Text("Bookmarks View") .font(.title) .font(Font.body.bold()) Text("Testing") .font(.system(size: 15)) } } }
Комментарии:
1. Однажды у меня была такая же проблема, я не мог вспомнить свое решение, но в тот момент, когда я прокрутил вниз и увидел
VStack {
Я знал, что это было, лол.