Add bottom to CupertinoSliverNavigationBar (#155841)
Fixes [Support search box inside large title nav bar](https://github.com/flutter/flutter/issues/18103)
Part of [Support segmented controls in nav bars and double row nav bars](https://github.com/flutter/flutter/issues/10469)
## None mode (Current default)
https://github.com/user-attachments/assets/d798314e-940f-4311-9a9a-fe999c65f280
## Always mode
https://github.com/user-attachments/assets/950a85aa-8ca2-42ea-bf8b-3cb8f95e616e
## Automatic mode
https://github.com/user-attachments/assets/c7c7240b-d493-4036-a987-30f61d02bac3
## With CupertinoSlidingSegmentedControl
https://github.com/user-attachments/assets/59f4aec4-8d9c-4223-915b-97b73cb25dc8
<details>
<summary>Sample Code</summary>
```dart
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/cupertino.dart';
/// Flutter code sample for [CupertinoSliverNavigationBar].
void main() => runApp(const SliverNavBarApp());
class SliverNavBarApp extends StatelessWidget {
const SliverNavBarApp({super.key});
@override
Widget build(BuildContext context) {
return const CupertinoApp(
theme: CupertinoThemeData(brightness: Brightness.light),
home: SliverNavBarExample(),
);
}
}
class SliverNavBarExample extends StatelessWidget {
const SliverNavBarExample({super.key});
@override
Widget build(BuildContext context) {
return const CupertinoPageScaffold(
// A ScrollView that creates custom scroll effects using slivers.
child: SafeArea(
child: CustomScrollView(
// A list of sliver widgets.
slivers: <Widget>[
CupertinoSliverNavigationBar(
leading: SizedBox(
width: 100,
child: Row(
children: [
Icon(CupertinoIcons.back),
Text(
'Lists',
style: TextStyle(color: CupertinoColors.activeBlue),
),
],
),
),
trailing: Icon(CupertinoIcons.plus),
largeTitle: Text('iPhone'),
// Change to desired mode.
drawerMode: NavigationDrawerMode.none,
drawer: Padding(
padding: EdgeInsets.fromLTRB(8.0, 0.0, 8.0, 16.0),
child: CupertinoSearchTextField(),
),
),
SliverFillRemaining(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
Text('Drag me up', textAlign: TextAlign.center),
],
),
),
],
),
),
);
}
}
```
</details>