I’m making an attempt to make use of the topEdgeEffect API in iOS 26, however even setting the impact model to ".tender" doesn’t work:
class ViewController: UIViewController {
var scrollView: UIScrollView!
override func viewDidLoad() {
tremendous.viewDidLoad()
// Create and configure UIScrollView
scrollView = UIScrollView()
scrollView.translatesAutoresizingMaskIntoConstraints = false
scrollView.topEdgeEffect.model = .tender // <- This could work
view.addSubview(scrollView)
// Pin scrollView to fill the entire view
NSLayoutConstraint.activate([
scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
scrollView.topAnchor.constraint(equalTo: view.topAnchor),
scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor)
])
// Create label with multiline textual content
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.numberOfLines = 0
label.textual content = """
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
(Extra lengthy textual content)
"""
// Add label to scrollView
scrollView.addSubview(label)
// Constraints to make label fill scrollView width and outline content material top
NSLayoutConstraint.activate([
label.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor),
label.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor),
label.topAnchor.constraint(equalTo: scrollView.topAnchor),
label.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor),
label.widthAnchor.constraint(equalTo: scrollView.widthAnchor) // fix width to scrollView width
])
}
}
Any assistance is appreciated! Working on Xcode 16.1.0 and an iOS 26.1 Simulator.


