Nativescript - добавить границу сверху на панель действий

Привет, ребята, у меня проблема, я хочу добавить красную рамку вверху к моей панели действий. Вот мой код ниже -

<ActionBar class=" border-top"  title="" loaded="loaded" >
    <NavigationButton ></NavigationButton>
    <ActionBar.actionItems  >
        <ActionItem ios.position="right" >
            <ActionItem.actionView>
                <AbsoluteLayout >
                <Label text="&#xf145;" class="action-item gray" />
                </AbsoluteLayout>
            </ActionItem.actionView>
        </ActionItem>
        <ActionItem ios.position="right" >
            <ActionItem.actionView>
                <AbsoluteLayout  class="{{ selectedPage ==='contacts' ? 'higlight-menu-item':'' }}">
                    <Label text="&#xf0c0;" class="action-item gray" />
                </AbsoluteLayout>
            </ActionItem.actionView>
        </ActionItem>
    </ActionBar.actionItems>
</ActionBar>

и в моем app.css

.border-top {
  border-top-color:#ec295f;
    border-top-width:2;
}

Это работает нормально на устройствах Android, но на IOS его не показывает Кажется, что нет никакого готового решения для IOS, я нашел Проблемы здесь https://github.com/NativeScript/NativeScript/issues/5395

https://github.com/NativeScript/NativeScript/issues/2470

Но там я не знаю, как это написать?? Я пытаюсь несколько дней, но без решения кто-то может немного помочь??

1 ответ

Решение

В Nativescript нет решения, поэтому мне пришлось получить доступ к нативным методам IOS и написать собственное решение. Вот мое решение:

var colorModule = require("color");
var red = new colorModule.Color("#ec295f");
const frameModule = require('ui/frame');


if (frameModule.topmost().ios) {
        let controller = frameModule.topmost().ios.controller;
        let navBar = controller.navigationBar;
        let border = new UIView(CGRectMake(0, 1, navBar.frame.size.width, 2));
        border.backgroundColor = UIColor(red.ios);
        border.opaque = true;
        navBar.addSubview(border);
    }

Надеюсь, это поможет кому-то:)

Другие вопросы по тегам