0

我希望你们都有一个美好的一天。

我在带有 ActionSheets 和 Popovers 的 iOS 上遇到问题,当出现一个弹出框时,用户可以在弹出框内滑动时滚动,如果我在弹出框外部单击它,它会滚动我从中打开弹出框的后面内容关闭弹出框,它根本不允许我滑动,但是当我在弹出框内单击时,它会滚动弹出框的后面内容,而不是弹出框本身。

这是它的视频:抱歉没有上传视频的选项,这是一个链接: 弹出框/操作表的视频

这是打开弹出框的代码

async openCreateNewFolder(type, folder?) {
    const popover = await this.popoverController.create({
      component: NewFolderComponent,
      componentProps: {
        folderId: this.folderId,
        parentId: this.parentId,
        type,
        folder
      }
    });
 
    popover.onDidDismiss().then((dataReturned) => {
      console.log(dataReturned);
      if (dataReturned.data !== undefined) {
        if (dataReturned.data === 'cancelClicked') {

        } else if (dataReturned.data === 'confirmClickedFolder') {
          this.deleteFolder(dataReturned.role);
        } else if (dataReturned.data === 'confirmClickedFile') {
          this.deleteFile(dataReturned.role);
        } else if (dataReturned.data === 'newFolderCreated') {
          this.getFolders();
        }
        // this.dataReturned = dataReturned.data;
        //alert('Modal Sent Data :'+ dataReturned);
      }
    });
 
    return await popover.present();
  }

这是操作表的代码:

async confirmChangeLanguageDialogue(selectedLanguage) {
let languageClass: any;
if (selectedLanguage === 'English') {
  languageClass = 'alertControllerEnglishLanguageIcon';
} else if (selectedLanguage === 'Deutch') {
  languageClass = 'alertControllerGermanLanguageIcon';
} else if (selectedLanguage === 'French') {
  languageClass = 'alertControllerFrenchLanguageIcon';
} else if (selectedLanguage === 'Italian') {
  languageClass = 'alertControllerItalianLanguageIcon';
}
const alert = await this.alertCtrl.create({
  header: this.translate.instant('confirm'),
  mode: 'ios',
  message: this.translate.instant('change_language_confirm_message', {selected_language: selectedLanguage}),
  buttons: [
    {
      text: this.translate.instant('cancel'),
      role: 'cancel',
      cssClass: 'secondary',
      handler: (blah) => {
        console.log('Confirm Cancel: blah');
      }
    }, {
      text: this.translate.instant('okay'),
      cssClass: languageClass,
      handler: () => {
        this.requestChangeLanguage(selectedLanguage);
      }
    }
  ]
});

await alert.present();
const result = await alert.onDidDismiss();
console.log(result);

任何帮助都会得到帮助,谢谢。

4

1 回答 1

0

可以在这里找到修复,检查一下: https ://forum.ionicframework.com/t/popover-alertsheet-etc-on-ios-scrolls-back-content-and-not-the-popover-itself/180122

于 2019-12-23T14:18:11.167 回答