Skip to content

Commit f4333ba

Browse files
committed
Fix MediaTimeline screen header iOS 26 crash, update remaining version predicates.
1 parent 087a07c commit f4333ba

File tree

2 files changed

+22
-14
lines changed

2 files changed

+22
-14
lines changed

ElementX/Sources/Other/Extensions/PlatformViewVersionPredicate.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,28 @@
66
//
77

88
import SwiftUI
9-
import SwiftUIIntrospect
9+
@_spi(Advanced) import SwiftUIIntrospect
1010

1111
extension PlatformViewVersionPredicate<TextFieldType, UITextField> {
1212
static var supportedVersions: Self {
13-
.iOS(.v17, .v18)
13+
.iOS(.v16...)
1414
}
1515
}
1616

1717
extension PlatformViewVersionPredicate<ScrollViewType, UIScrollView> {
1818
static var supportedVersions: Self {
19-
.iOS(.v17, .v18)
19+
.iOS(.v16...)
2020
}
2121
}
2222

2323
extension PlatformViewVersionPredicate<ViewControllerType, UIViewController> {
2424
static var supportedVersions: Self {
25-
.iOS(.v17, .v18)
25+
.iOS(.v16...)
2626
}
2727
}
2828

2929
extension PlatformViewVersionPredicate<NavigationStackType, UINavigationController> {
3030
static var supportedVersions: Self {
31-
.iOS(.v17, .v18)
31+
.iOS(.v16...)
3232
}
3333
}

ElementX/Sources/Screens/MediaEventsTimelineScreen/View/MediaEventsTimelineScreen.swift

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -194,16 +194,12 @@ struct MediaEventsTimelineScreen: View {
194194
@ToolbarContentBuilder
195195
private var toolbar: some ToolbarContent {
196196
ToolbarItem(placement: .principal) {
197-
Picker("", selection: $context.screenMode) {
198-
Text(L10n.screenMediaBrowserListModeMedia)
199-
.padding()
200-
.tag(MediaEventsTimelineScreenMode.media)
201-
Text(L10n.screenMediaBrowserListModeFiles)
202-
.padding()
203-
.tag(MediaEventsTimelineScreenMode.files)
197+
if #available(iOS 19, *) {
198+
screenModePicker
199+
} else {
200+
screenModePicker
201+
.frame(idealWidth: .greatestFiniteMagnitude)
204202
}
205-
.pickerStyle(.segmented)
206-
.frame(idealWidth: .greatestFiniteMagnitude)
207203
}
208204

209205
ToolbarItem(placement: .primaryAction) {
@@ -212,6 +208,18 @@ struct MediaEventsTimelineScreen: View {
212208
}
213209
}
214210

211+
private var screenModePicker: some View {
212+
Picker("", selection: $context.screenMode) {
213+
Text(L10n.screenMediaBrowserListModeMedia)
214+
.padding()
215+
.tag(MediaEventsTimelineScreenMode.media)
216+
Text(L10n.screenMediaBrowserListModeFiles)
217+
.padding()
218+
.tag(MediaEventsTimelineScreenMode.files)
219+
}
220+
.pickerStyle(.segmented)
221+
}
222+
215223
func tappedItem(_ item: RoomTimelineItemViewState) {
216224
context.send(viewAction: .tappedItem(item: item))
217225
}

0 commit comments

Comments
 (0)