Горизонтальная прокрутка панели инструментов не работает на мобильных устройствах

введите здесь описание изображения

Я создаю ионное приложение, в котором я добавил панель инструментов внутри заголовка, и у нее есть 5 кнопок для навигации. но когда я пробую код на браузерных устройствах, горизонтальная прокрутка отлично работает для панели инструментов, но на самом устройстве она не будет работать должным образом. иногда он прокручивался, а иногда нет. Ниже приведен код для того же самого.

<ion-header>
  <ion-navbar color="light">
    <ion-title>Home</ion-title>
    <ion-buttons end>
      <button ion-button icon-only>
        <ion-icon name="search"></ion-icon>
      </button>
      <button ion-button icon-only>
        <ion-icon name="cart"></ion-icon> 
      </button>
    </ion-buttons>
  </ion-navbar>
  <ion-toolbar color="light">
    <ion-buttons>
      <button ion-button clear>{{'All'|translate}}</button>
    </ion-buttons>
    <ion-buttons *ngFor="let facet of parentCategories">
      <button ion-button [ngClass]=" {'active' : selectedFacet == facet}">{{facet}}
      </button>
      <button ion-button icon-only clear class="accordion" (tap)="getSubFacets(facet);accordion(event)" *ngIf="selectedFacet == facet"><ion-icon name="ios-arrow-down"></ion-icon></button>
    </ion-buttons>
    <div id="sub-category" class="sub-category">
      <ion-buttons *ngFor="let subFacet of childCategories">
        <button ion-button [ngClass]=" {'active' : selectedSubFacet == subFacet}" (tap)="getFilteredProducts('categoryFacet',subFacetMap.get(subFacet), selectedFacet, subFacet)">
          {{subFacet}}</button>
      </ion-buttons>
    </div>
  </ion-toolbar>
</ion-header>

CSS:

.toolbar-content {
     overflow-x: auto;
     white-space: nowrap;
     overflow-y: hidden;
     width: 100%;
     height: 56px;
}

person Garima Jain    schedule 04.02.2019    source источник
comment
Возможно, это может вам помочь: stackoverflow.com/questions/15732466/   -  person Jacopo Sciampi    schedule 04.02.2019


Ответы (2)


У меня была такая же проблема, и я следовал этому образцу

CSS:

ion-toolbar.scrollable-segments {
ion-segment {
  display: block;
  overflow-x: scroll;
  white-space: nowrap;

  ion-segment-button.segment-button {
    display: inline-block;
    width: auto;
  }
 }
}

HTML:

<ion-toolbar no-border class="scrollable-segments">
<ion-segment [(ngModel)]="segment">
    <ion-segment-button value="all">
        All
    </ion-segment-button>
    <ion-segment-button value="test">
        Recent
    </ion-segment-button>
    <ion-segment-button value="test2">
        Recent
    </ion-segment-button>
    <ion-segment-button value="test3">
        Recent
    </ion-segment-button>
    <ion-segment-button value="test4">
        Recent
    </ion-segment-button>
    <ion-segment-button value="test5">
        Recent
    </ion-segment-button>
    <ion-segment-button value="test6">
        Recent
    </ion-segment-button>
    <ion-segment-button value="test7">
        Recent
    </ion-segment-button>
</ion-segment>
</ion-toolbar>

Ссылка: https://forum.ionicframework.com/t/horizontally-scrolling-sub-header-in-ionic-2/42722/8

person Ahmed Abuamra    schedule 04.02.2019
comment
Можете ли вы на самом деле заставить его отображать, скажем, меньше элементов, например. размер ионно-сегментной кнопки ширина = 20vw ? Я получаю эллипсы в кнопках сегментов Будет ли сегмент ion проходить дальше правого края экрана и позволит ли вам прокрутить, чтобы увидеть больше кнопок сегментов? как? Не могли бы вы показать рабочий пример на stackblitz.com Спасибо. - person Meryan; 20.04.2020

попробуйте это, его рабочий код, опробован и протестирован

HTML:

  <ion-toolbar color="light">
    <div style="overflow-x: scroll;width: 100%">
      <ion-row nowrap>
        <ion-buttons>
          <button ion-button clear>All</button>
        </ion-buttons>
        <ion-buttons *ngFor="let facet of countries">
          <button ion-button>
            {{facet.item}}
          </button>
          <button ion-button icon-only clear class="accordion" (tap)="getSubFacets(facet);accordion(event)" *ngIf="selectedFacet == facet">
            <ion-icon name="ios-arrow-down"></ion-icon>
          </button>
        </ion-buttons>
      </ion-row>
    </div>
  </ion-toolbar>
person Aniruddh Thakor    schedule 04.02.2019