On an iPad or iPhone running iPadOS / iOS 18.2 (built with Xcode 16.2), run the WritingApp sample code from https://developer.apple.com/documentation/SwiftUI/Building-a-document-based-app-with-SwiftUI from WWDC24
Then add the following struct to the project:
struct NavigationBarToolbar: ToolbarContent {
var body: some ToolbarContent {
ToolbarItem(placement: .secondaryAction) {
Button("Button 1", systemImage: "1.circle") { }
}
ToolbarItem(placement: .secondaryAction) {
Button("Button 2", systemImage: "2.circle") { }
}
ToolbarItem(placement: .secondaryAction) {
Button("Button 3", systemImage: "3.circle") { }
}
ToolbarItem(placement: .secondaryAction) {
Button("Button 4", systemImage: "4.circle") { }
}
ToolbarItem(placement: .secondaryAction) {
Button("Button 5", systemImage: "5.circle") { }
}
}
}
Comment out the original toolbar in the sample project and replace with:
.toolbar(content: NavigationBarToolbar.init)
Run the project and open or create a document
Click on the TitleMenu and choose Rename, in order to rename the file
Type in a new name and press Enter.
Notice how the items of the toolbar disappear
——
This issue has been submitted as feedback with number FB16100225
This issue is linked to the following feedbacks:
FB14855728
FB14855668
FB14849205
FB12343963
FB15164292
Post
Replies
Boosts
Views
Activity
I've been trying to disable the "Smart Selection" feature introduced in https://developer.apple.com/wwdc20/10107 from a PKCanvasView. This feature could be very useful for some apps but if you want to start from a clean state canvas it might get in your way as you add gestures and interactions.
Is there any way to opt out from it?
The #WWDC20-10107 video demonstrates the "Smart Selection" feature at around 1:27.
I'm having trouble sorting this out:
The ScrollView when set to use both axis always shows the content centered.
This is independent from the size of the content, wheteher it exceeds or not the size of the ScrollView.
I'm looking for a way to have the ScrollVIew showing the top of the content on load, and not the center. Is there any way to set this behaviour in SwiftUI?
struct ContentView: View {
var greenRectHeight = 1400.0
var blueRectHeight = 100.0
var redRectHeight = 20.0
var innerRectWidth = 200.0
var outerRectWidth = 300.0
var body: some View {
NavigationStack {
ScrollView([.horizontal, .vertical]) {
ZStack {
Rectangle()
.strokeBorder(lineWidth: 1)
.frame(width: outerRectWidth)
.frame(height: greenRectHeight)
.background(.green)
VStack(spacing: 0) {
Rectangle()
.strokeBorder(lineWidth: 1)
.frame(width: innerRectWidth)
.frame(height: blueRectHeight)
.background(.blue)
Rectangle()
.strokeBorder(lineWidth: 1)
.frame(width: innerRectWidth)
.frame(height: redRectHeight)
.background(.red)
}
}
.navigationTitle("ScrollView")
}
.background(.yellow)
}
}
}