NativeScript模式在iOS上全屏显示

时间:2019-01-25 16:22:17

标签: android ios angular modal-dialog nativescript

我试图在我的nativescript项目上添加模式,使其在android上可以正常工作,但是在ios上,它占据了屏幕的全部高度和宽度,应该部分显示。

我创建了一个单独的角度组件以打开它,我使用下面的代码。

它在android上工作正常,但在ios上以全屏模式打开。

public showModal(fullscreen: boolean, animated = true, stretched = false) {
    const options: ModalDialogOptions = {
        context: { promptMsg: "This is the prompt message!" },
        fullscreen,
        animated,
        stretched,
        viewContainerRef: this.vcRef,
    };

    this.modal.showModal(ModalContent, options).then((res: string) => {
        this.result = res || "empty result";
    });

模态应该部分在ios上作为android打开。 有什么解决方法,请帮忙。

2 个答案:

答案 0 :(得分:1)

聚会晚了一点,但是我在nativescript-angular存储库中找到了一个PR,该PR似乎通过ModalDialogOptions中的以下代码实现了iOS非全屏模式。

 ios: {
        presentationStyle: UIModalPresentationStyle.Popover
    }

答案 1 :(得分:0)

我不认为iPhone支持弹出窗口形式的模态,只有iPad支持它。一种解决方法是使用全屏模式,使背景透明,然后将内容放在中间。

如果您熟悉本机api,我想可以通过限制模式框架的大小来实现。