Xamarin iOS: как открыть файл PDF с помощью стандартного ридера

В следующем теге привязки есть ребенок и внук. У внука есть дальний фоновой градиент. Ребенок на ближнем фоне прозрачен, но имеет переход к градиенту. При наведении непрозрачность ребенка переходит от 0 до 1 в течение 1 секунды.

Вот CSS:

.bkgrndfar {
  position:absolute;
  top:0;
  left:0;
  z-index:-2;
  height:100%;
  width:100%;
  background:linear-gradient(#eee, #aaa);
}

.bkgrndnear {
  position:absolute;
  top:0;
  left:0;
  height:100%;
  width:100%;
  background:radial-gradient(at 50% 50%, blue 1%, aqua 100%);
  opacity:0;
  transition: opacity 1s;
}

a.menulnk {
  position:relative;
  text-decoration:none;
  color:#333;
  padding: 0 20px;
  text-align:center;
  line-height:27px;
  float:left;
}

a.menulnk:hover {
  color:#eee;
  text-decoration:underline;
}

/* This transitions child opacity on parent hover */
a.menulnk:hover .bkgrndnear {
  opacity:1;
}

И это HTML:

<a href="#" class="menulnk">Transgradient
<div class="bkgrndfar">
  <div class="bkgrndnear">
  </div>
</div>
</a>

Вышеупомянутая проверка протестирована только в последней версии Chrome. Это прежде, чем наведите указатель мыши на полпути на ползунках и полностью перевернутые наводящие изображения:

Before [/g0] Halfway [/g1] After [/g2]

0
задан amaro tati 17 January 2019 в 13:33
поделиться

1 ответ

Чтобы открыть файл PDF из filePath:

  public void OpenPDF(string filePath)
    {
        FileInfo fi = new FileInfo(filePath);

        QLPreviewController previewController = new QLPreviewController();
        previewController.DataSource = new PreviewControllerDataSource(fi.FullName, fi.Name);

        UINavigationController controller = FindNavigationController();
        if (controller != null)
            controller.PresentViewController(previewController, true, null);
    }


    private UINavigationController FindNavigationController()
    {
        foreach (var window in UIApplication.SharedApplication.Windows)
        {
            if (window.RootViewController.NavigationController != null)
            {
                return window.RootViewController.NavigationController;
            }

            var value = CheckSubs(window.RootViewController.ChildViewControllers);
            if (value != null)
                return value;
        }

        return null;
    }


    private UINavigationController CheckSubs(UIViewController[] controllers)
    {
        foreach (var controller in controllers)
        {
            if (controller.NavigationController != null)
            {
                return controller.NavigationController;
            }

            var value = CheckSubs(controller.ChildViewControllers);

            return value;
        }

        return null;
    }

Итак, в своем коде после его сохранения просто вызовите OpenPDF с правильным путем.

0
ответ дан Bruno Caceiro 17 January 2019 в 13:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: