2016-08-16 4 views
2

Вот мой модальный код:Как я могу сделать модальный, чтобы стать полноэкранным в Ionic2?

let modal = Modal.create(DailyReportPage); 
    this.nav.present(modal); 

Он отлично работает на телефоне, однако на планшете он выглядит следующим образом: enter image description here То, что я хочу, чтобы сделать его выглядеть следующим образом: enter image description here

ответ

5

Я применяю этот стиль:

ion-modal { 
    .modal-wrapper { 
     position: absolute; 
     top: 0; 
     left: 0; 
     display: block; 
     width: 100%; 
     height: 100%; 
    } 
} 
+0

спасибо просто работает! – Magico

+0

, но он сделает все модальное приложение в полноэкранном режиме, можем ли мы сделать некоторые специальные модалы в полноэкранном режиме и оставить остальную часть модалов, как есть. – Omar

+0

Я нахожу, что, добавив этот css, модальное перекрывает строку состояния. Есть ли какие-нибудь предложения? – ali

2

Вы должны следовать Modal

Модаль - это область содержимого, которая просматривает текущую страницу пользователя. Обычно он используется для выбора или редактирования элемента.

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

this.nav.push(SamplePage, {item: item}); 
+0

'nav.push' ведет себя очень похоже на ожидаемый для полноэкранного Modal. Отличное предложение. +1 –

0

Примените этот стиль в вашем файле SCSS

ion-modal { 
    .modal-wrapper { 
     position: absolute; 
     top: 0; 
     left: 0; 
     display: block; 
     width: 100%; 
     height: 100%; 
    } } 

Это должно быть из стороны вашего селектора.

например: -

page-mymodal { 
    //page CSS Codes 
} 
ion-modal { 
    .modal-wrapper { 
     position: absolute; 
     top: 0; 
     left: 0; 
     display: block; 
     width: 100%; 
     height: 100%; 
    } 
} 
+0

Будет ли это глобальным? Как вы можете сделать это только для этой страницы. Почему это не работает внутри «page-mymodal» – Daniel

+0

Если вам нужно делать глобальные изменения, вы можете сделать это в файле app/app.scss. ион-модальный является компонентом ионного 2. Он не будет переопределяться внутри страницы-mymodal. Поэтому мы должны держать его снаружи и затрагивать только на этой странице. –

2

Вы можете изменить соответствующие переменные Ионные Сасс в файле variables.css:

$modal-inset-width: 100%; 
$modal-inset-height-large: 100%; 

Documentation (текущая версия 3.9, но я использую это с 3.7): http://ionicframework.com/docs/theming/overriding-ionic-variables/

+0

Это правильный подход. Я не уверен, что это лучшее, но мы должны заглянуть внутрь css, потому что на маленьких экранах Modal является полноэкранным. Так легко настраивать внутри css-переменных. Я также добавил это для iOS: '$ modal-ios-border-radius: 0;' –

+0

Я нахожу, что это перекрывает строку состояния. Любая идея, как это исправить? –

Смежные вопросы