Cupertino Widgets: Building iOS-Style Apps
Cupertino Widgets: Building iOS-Style Apps in Flutter
Flutter Course provides two sets of widgets: Material Design (for Android-like apps) and Cupertino (for iOS-style apps). Cupertino widgets allow developers to create applications that follow Apple’s design guidelines, ensuring a native iOS look and feel.
Why Use Cupertino Widgets?
Provides an iOS-native user experience.
Ensures consistency with Apple’s Human Interface Guidelines.
Works seamlessly with Flutter’s cross-platform capabilities.
Common Cupertino Widgets
1. CupertinoApp
Acts as the root widget for an iOS-styled app. Equivalent to MaterialApp in Flutter.
dart
Copy
Edit
import 'package:flutter/cupertino.dart';
void main() {
runApp(CupertinoApp(
home: CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(
middle: Text('Home'),
),
child: Center(child: Text('Welcome to iOS-style App')),
),
));
}
2. CupertinoPageScaffold
A basic page layout with a navigation bar and a content area.
3. CupertinoNavigationBar
An iOS-style navigation bar.
4. CupertinoButton
A button styled to match iOS design.
dart
Copy
Edit
CupertinoButton(
child: Text("Press Me"),
onPressed: () {},
)
5. CupertinoTextField
An input field with iOS aesthetics.
dart
Copy
Edit
CupertinoTextField(
placeholder: 'Enter text',
)
6. CupertinoPicker
An iOS-style scroll picker.
dart
Copy
Edit
CupertinoPicker(
itemExtent: 32.0,
onSelectedItemChanged: (int index) {},
children: List.generate(10, (index) => Text('Item $index')),
)
Using Cupertino Widgets in a Cross-Platform App
Flutter allows you to use Cupertino widgets selectively for iOS and Material widgets for Android:
dart
Copy
Edit
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
Widget build(BuildContext context) {
return Platform.isIOS
? CupertinoButton(child: Text('iOS Button'), onPressed: () {})
: ElevatedButton(child: Text('Android Button'), onPressed: () {});
}
Conclusion
Cupertino widgets are essential for Flutter developers targeting iOS users. They provide a native look and feel while maintaining the flexibility of a cross-platform framework.
READ MORE
Comments
Post a Comment