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

GET DIRECTIONS

Comments

Popular posts from this blog

Integrating WebSockets with React and Python Backend

Oracle Fusion Cloud vs. On-Premise: Which One is Right for You?

Named Routes vs. Anonymous Routes in Flutter