PageView + PlatformNavBar показывает ошибку в версии iOS - PullRequest
0 голосов
/ 08 мая 2020

Всем добрый вечер! Следующий код генерирует ошибку, когда я пытаюсь запустить на симуляторе iOS, но этот же код хорошо работает на симуляторе android. Кто-нибудь может помочь мне в этой ситуации?

import 'package:beauty_clinic_flutter/components/icon_history.dart';

import 'package:beauty_clinic_flutter/screens/dashboard/dashboard_mobile_portrait.dart';

import 'package:beauty_clinic_flutter/screens/history/history_mobile_portrait.dart';

import 'package:beauty_clinic_flutter/screens/message/message_mobile_portrait.dart';

import 'package:flutter/cupertino.dart';

import 'package:flutter/material.dart';

import 'package:flutter_platform_widgets/flutter_platform_widgets.dart';


class HomeMobilePortrait extends StatefulWidget {

  @override

  _HomeMobilePortraitState createState() => _HomeMobilePortraitState();

}

class _HomeMobilePortraitState extends State<HomeMobilePortrait> {

  int bottomSelectedIndex = 0;

  PageController pageController = PageController(

    initialPage: 0,

    keepPage: true,

  );

  @override

  void initState() {

    super.initState();

  }

  @override

  Widget build(BuildContext context) {

    List<BottomNavigationBarItem> buildBottomNavBarItems() {
      return [
        BottomNavigationBarItem(
          icon: Icon(context.platformIcons.home),
          title: Text('Início'),
        ),
        BottomNavigationBarItem(
          icon: Icon(context.platformIcons.mail),
          title: Text('Mensagens'),
        ),
        BottomNavigationBarItem(
          icon: IconHistory(),
          title: Text('Histórico'),
        ),
      ];
    }

    return PlatformScaffold(
      ios: (_) => CupertinoPageScaffoldData(
        navigationBar: CupertinoNavigationBar(
          trailing: Icon(
            CupertinoIcons.shopping_cart,
            color: Colors.white,
          ),
          leading: Icon(
            CupertinoIcons.profile_circled,
            color: Colors.white,
          ),
          middle: Text('BeautyColor'),
          backgroundColor: Color(0XFF6E78F7),
        ),
      ),
      android: (_) => MaterialScaffoldData(
        drawer: Drawer(),
        appBar: AppBar(
          actions: <Widget>[
            Container(
              child: IconButton(
                icon: Icon(Icons.shopping_cart),
                onPressed: () {},
              ),
            )
          ],
          backgroundColor: Colors.transparent,
          elevation: 0.0,
          bottomOpacity: 0.0,
        ),
      ),
      bottomNavBar: PlatformNavBar(
        currentIndex: bottomSelectedIndex,
        itemChanged: (index) {
          bottomSelectedIndex = index;
          pageController.animateToPage(index,
              duration: Duration(milliseconds: 6), curve: Curves.ease);
        },
        items: buildBottomNavBarItems(),
      ),
      body: PageView(
        controller: pageController,
        children: <Widget>[
          DashboardMobilePortrait(),
          MessageMobilePortrait(),
          HistoryMobilePortrait(),
        ],
        onPageChanged: (int index) {
          setState(() {
            bottomSelectedIndex = index;
          });
        },
      ),
    );
  }
}

Показана ошибка:

Исключение, обнаруженное жестом Следующее утверждение было выдано при обработке жеста: ScrollController прикреплен к нескольким представлениям прокрутки. 'package: flutter / src / widgets / scroll_controller.dart': Неудачное утверждение: строка 111 поз. 12: '_positions.length == 1'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...