Плоская кнопка на нажатой не работает касанием пальца в iOs Safari

Я разработал игру с Flutter, которую встроил на веб-страницу. Ни одно из действий не работает с касанием пальца в Safari на iPad. Они реагируют только на щелчки мышью. Они реагируют на касание пальцем в Chrome на мобильном устройстве.

На первом экране есть простая плоская кнопка с onPressed для перехода к следующему экрану. Кнопка отлично работает в Chrome, Firefox и даже Safari, но в этом случае только с помощью мыши. Если я пробовал играть в Safari на iPad, onPressed не работает ни с пальцами, ни с карандашом.

То же самое и с логотипом, который я встроил в виджет InkWell с помощью onTap.

Вот страница с игрой: http://www.maxetom.com/jeux_lecture/son_a1.php

Вот код кнопки:

import 'package:flutter/material.dart';

class OrangeButton extends StatelessWidget {
  final String screenName;
  final String text;

  OrangeButton(this.text, this.screenName);

  void callNextScreen(BuildContext context) {
    Navigator.of(context).pushNamed(screenName);
  }

  @override
  Widget build(BuildContext context) {
    return ClipRRect(
      borderRadius: BorderRadius.circular(15),
      child: FlatButton(
        color: Theme.of(context).accentColor,
        textColor: Colors.white,
        onPressed: () => callNextScreen(context),
        child: Container(
          alignment: Alignment.center,
          width: 120,
          height: 50,
          child: Text(
            text,
            style: Theme.of(context).textTheme.bodyText1,
          ),
        ),
      ),
    );
  }
}

Вот код для InkWell + onTap:

import 'package:url_launcher/url_launcher.dart';
import 'package:flutter/material.dart';

class Logo extends StatelessWidget {
  const Logo({
    Key key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.transparent,
      alignment: Alignment.centerRight,
      padding: const EdgeInsets.symmetric(vertical: 2.0, horizontal: 5.0),
      child: Material(
        color: Theme.of(context).primaryColorDark,
        child: InkWell(
          child: Text(
            'maxetom',
            style: TextStyle(
              fontFamily: 'Bradley',
              fontWeight: FontWeight.bold,
              fontSize: 20,
              color: Colors.white,
              letterSpacing: 1.5,
            ),
            textAlign: TextAlign.right,
          ),
          onTap: () async {
            final url = 'http://www.maxetom.com/';
            if (await canLaunch(url)) {
              await launch(
                url,
                forceSafariVC: false,
              );
            }
          },
        ),
      ),
    );
  }
}

Я использовал "Flutter build web" для создания релиза для веб-версии.

Я наверное что-то упускаю. Есть у кого-нибудь идеи?

Спасибо!

0 ответов

Другие вопросы по тегам