Skip to content

Commit 1d0319e

Browse files
authored
Hides the scroll bar from UIScrollView (flutter#27214)
* Hides the scroll bar from UIScrollView * fix test
1 parent e1faa98 commit 1d0319e

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

shell/platform/darwin/ios/framework/Source/SemanticsObject.mm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@ - (instancetype)initWithSemanticsObject:(SemanticsObject*)semanticsObject {
153153
if (self) {
154154
_semanticsObject = [semanticsObject retain];
155155
[semanticsObject.bridge->view() addSubview:self];
156+
[self setShowsHorizontalScrollIndicator:NO];
157+
[self setShowsVerticalScrollIndicator:NO];
156158
}
157159
return self;
158160
}

shell/platform/darwin/ios/framework/Source/SemanticsObjectTest.mm

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,28 @@ - (void)testFlutterScrollableSemanticsObjectIsHiddenWhenVoiceOverIsRunning {
370370
XCTAssertFalse(scrollable_object.isAccessibilityElement);
371371
}
372372

373+
- (void)testFlutterScrollableSemanticsObjectHidesScrollBar {
374+
fml::WeakPtrFactory<flutter::AccessibilityBridgeIos> factory(
375+
new flutter::MockAccessibilityBridge());
376+
fml::WeakPtr<flutter::AccessibilityBridgeIos> bridge = factory.GetWeakPtr();
377+
378+
flutter::SemanticsNode node;
379+
node.flags = static_cast<int32_t>(flutter::SemanticsFlags::kHasImplicitScrolling);
380+
node.actions = flutter::kHorizontalScrollSemanticsActions;
381+
node.rect = SkRect::MakeXYWH(0, 0, 100, 200);
382+
node.scrollExtentMax = 100.0;
383+
node.scrollPosition = 0.0;
384+
385+
FlutterSemanticsObject* delegate = [[FlutterSemanticsObject alloc] initWithBridge:bridge uid:0];
386+
FlutterScrollableSemanticsObject* scrollable =
387+
[[FlutterScrollableSemanticsObject alloc] initWithSemanticsObject:delegate];
388+
SemanticsObject* scrollable_object = static_cast<SemanticsObject*>(scrollable);
389+
[scrollable_object setSemanticsNode:&node];
390+
[scrollable_object accessibilityBridgeDidFinishUpdate];
391+
XCTAssertFalse(scrollable.showsHorizontalScrollIndicator);
392+
XCTAssertFalse(scrollable.showsVerticalScrollIndicator);
393+
}
394+
373395
- (void)testSemanticsObjectBuildsAttributedString {
374396
fml::WeakPtrFactory<flutter::AccessibilityBridgeIos> factory(
375397
new flutter::MockAccessibilityBridge());

0 commit comments

Comments
 (0)