This is my View:
My Image is taking up all the space. Can I add something to the Image which will make it the same height as the navigation bar (and than the Image should be a small square)? Please no fixed frame solutions, I would expect SwiftUI can be smart enough to figure out how large the Image should be.
This is my code:
.navigationBarTitleDisplayMode(.inline)
.toolbar {
// Directly putting a navigation link here does not work: https://stackoverflow.com/questions/63602263/swiftui-toolbaritem-doesnt-present-a-view-from-a-navigationlink
ToolbarItem(placement: .principal) {
Button(conversation.title) {
showConversationDetail = true
}
.buttonStyle(.plain)
}
}
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Image(...)
.resizable()
}
}
CodePudding user response:
You need to make it resizable and set the aspect ratio contentMode. You may or may not need to set the aspect ratio itself, depending on the image.
Image(...)
.resizable()
.aspectRatio(1, contentMode: .fit)
CodePudding user response:
You can use it like this :
.navigationBarTitleDisplayMode(.inline)
.toolbar {
// Directly putting a navigation link here does not work:
https://stackoverflow.com/questions/63602263/swiftui-toolbaritem-doesnt-
present-a-view-from-a-navigationlink
ToolbarItem(placement: .principal) {
Button(conversation.title) {
showConversationDetail = true
}
.buttonStyle(.plain)
}
}
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Image(...)
.resizable()
// .frame(width: 15, height: 15)
.imageScale(.medium) // or you can use .small or .large accordingly
.padding(20)
}
}

