showIosDialog function

  1. @Doc(message: '显示一个iOS弹窗')
void showIosDialog(
  1. String msg, {
  2. String okText = 'Done',
  3. List<Widget>? startActions,
  4. List<Widget>? endActions,
  5. Widget? title,
  6. String cancelText = 'Cancel',
  7. Widget? content,
})

Implementation

@Doc(message: '显示一个iOS弹窗')
void showIosDialog(String msg,
    {String okText = 'Done',
    List<Widget>? startActions,
    List<Widget>? endActions,
    Widget? title,
    String cancelText = 'Cancel',
      Widget? content
    }) {
  if (msg.isNotEmpty) {
    const tag = 's-dialog-simple-ok-btn';
    SmartDialog.show(
        builder: (_) {
          final isIos = io.Platform.isIOS;
          if (isIos) {
            return CupertinoAlertDialog(
              title: title,
              content: content ?? Text(msg),
              actions: [
                if (startActions != null) ...startActions,
                CupertinoDialogAction(child: Text(okText), onPressed: () => SmartDialog.dismiss(tag: tag)),
                if (endActions != null) ...endActions
              ],
            );
          } else {
            final allEmpty = startActions == null && endActions == null;
            return AlertDialog(
              title: title ?? const Text(''),
              content: content ?? Text(msg),
              actions: allEmpty
                  ? [
                      Row(
                        mainAxisAlignment: MainAxisAlignment.end,
                        children: [
                          TextButton(
                                  onPressed: () {
                                    SmartDialog.dismiss(tag: tag);
                                  },
                                  child: Text(cancelText))
                              .marginOnly(right: 12),
                          FilledButton(onPressed: () => SmartDialog.dismiss(tag: tag), child: Text(okText)).center
                        ],
                      )
                    ]
                  : [
                      if (startActions != null) ...startActions,
                      ElevatedButton(onPressed: () => SmartDialog.dismiss(tag: tag), child: Text(okText)),
                      if (endActions != null) ...endActions
                    ],
            );
          }
        },
        tag: tag);
  }
}