NativeScript - Angular ios стиль строки состояния - PullRequest
1 голос
/ 26 апреля 2020

Я занимаюсь этим уже несколько дней, я попробовал методы из документации NativeScript и попытался применить несколько разных подходов через комментарии к StackOverflow . Я также пытался использовать этот плагин ( nativescript-statusbar ), но все безрезультатно.

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

Мое устройство в настоящее время установлено в темный режим, когда я переключаюсь в режим по умолчанию, строка состояния следует независимо от того, системное значение по умолчанию:

Вот мой код (со всеми пухами, удаленными из нерабочих примеров, которым я следовал):

my.component.tns. html

<ActionBar title="Holidays For You">
  <NavigationButton (tap)="goBack()"></NavigationButton>
  <ActionItem class="action-skip" text="Skip" ios.position="right" (tap)="skip()"></ActionItem>
</ActionBar> 
<ScrollView>
  <FlexboxLayout alignItems="center" flexDirection="column" class="main">
    ...
  </FlexboxLayout>
</ScrollView>

my.component.tns.s css

ActionBar{
  background-color: white;
  color: black;
}

.main{
  background-color: rgb(230, 230, 230);
}

РЕДАКТИРОВАТЬ: файл component.ts

import { Component, OnInit, AfterViewInit } from '@angular/core';
import { EventData } from "tns-core-modules/data/observable";
import { topmost } from "tns-core-modules/ui/frame";
import { isIOS } from "tns-core-modules/platform";
import { Page } from "tns-core-modules/ui/page";

@Component({
  selector: 'app-holiday-list',
  templateUrl: './holiday-list.component.html',
  styleUrls: ['./holiday-list.component.scss']
})
export class HolidayListComponent implements OnInit, AfterViewInit {

  constructor(private page: Page) {

    this.page.on(Page.loadedEvent, event => {
      if (isIOS) {
        let navigationBar = topmost().ios.controller.navigationBar;
        navigationBar.barStyle = UIBarStyle.Black;
      }
    })

  }

  ngAfterViewInit(){
   // Tried same code in here
  }

  ngOnInit() {
    // Tried the same code in here too.
  }

}

ПРИМЕЧАНИЕ: я запускаю все это, используя tns preview , так как у меня нет ма c.

И результат (красное поле, отображающее проблему)

issue preview

Любая помощь по этому вопросу будет принята с благодарностью.

РЕДАКТИРОВАТЬ: Образец репо

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