Как использовать Material Designs «Стандарт» в нижней части iOS? - PullRequest
1 голос
/ 10 октября 2019

Я пытаюсь использовать нижнюю таблицу Googles в приложении для iOS (Xamarin, что означает, что она написана на C #). Мне удалось использовать «модальный» вариант, который затемняет изображение, когда оно появляется, но мне нужна нижняя таблица, которая работает так же, как в приложении Google Maps - позволяя манипулировать обеими областями «под»Нижний лист, а также содержание самого нижнего листа.

Я получил nuGet, который содержит набор компонентов Material Design (Xamarin.iOS.MaterialComponents), но я не смог найти никакой документации, в которой говорилось бы, как можно получить нижнюю таблицу "clickthrough". При создании (Xamarin) версии этого приложения для Android мне удалось создать нижнюю таблицу "clickthrough" - но в Android это происходит в форме чего-то, называемого BottomSheetBehavior, которое присоединено к дочернему элементу CoordinatorLayout. - Это поставило меня в тупик, так как (AFAIK) в iOS нет соответствующей конструкции макета.

Этот фрагмент кода создает новый viewController с некоторым содержимым и отображает его в нижней таблице, которая скользит вверх над текущейПосмотреть. -Все очень хорошо, но есть ли у кого-нибудь представление о том, как сделать фоновый вид «управляемым»?

UIViewController content = new UIViewController();
content.View.Frame = new CoreGraphics.CGRect(0, 0, 200, 200);
content.View.BackgroundColor = UIColor.Blue;
Button b = new Button();
b.Frame = new CoreGraphics.CGRect(0, 0, 100, 20);
b.SetTitle("A Button appears!", UIControlState.Normal);
content.Add(b);

BottomSheetController bs = new BottomSheetController(content);         
bs.PreferredContentSize = new CoreGraphics.CGSize(300, 300);
PresentViewController(bs,true,null);

Спасибо за чтение! :)

1 Ответ

0 голосов
/ 10 октября 2019

Вы можете использовать UIAlertController для этого, если я не ошибаюсь

Все, что вам нужно сделать, это примерно так:

var alert = UIAlertController.Create("Option!", "Option!?", UIAlertControllerStyle.ActionSheet);

А затем просто представитьit

PresentViewController (alert, animated: true, completionHandler: null);

Для получения дополнительной информации проверьте документы Microsoft,

Удачи.

Не стесняйтесь вернуться, если у вас есть вопросы

...