У меня возникли проблемы с реализацией Xamarin iOS Popovers.Popovers и Xamarin iOS
Насколько я сейчас, они доступны через новый класс UIPopoverPresentationController, описанный в документации компании Apple (https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPopoverPresentationController_class/)
Мой код-то вроде этого:
public partial class PopoverSettings : UIViewController
{
public PopoverSettings() //: base ("PopoverSettings", null)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
View.Frame = new CoreGraphics.CGRect(0,0,100,100);
this.PreferredContentSize = new CoreGraphics.CGSize (10, 10);
View.BackgroundColor = UIColor.Red;
}
}
И я пытаюсь создать это от
var myPop = new PopoverSettings();
myPop.ModalInPopover = true;
myPop.ModalPresentationStyle = UIModalPresentationStyle.Popover;
var pc = (UIPopoverPresentationController)myPop.PresentationController;
pc.SourceView = navigation;
pc.SourceRect = new CGRect(0,0,100,100);
this.PresentViewController(myPop, true, null);
в результате работает, но я получаю ПОЛНОЭКРАННЫЙ View Controller, а не компонент «поповер»!
Кто-нибудь знает, почему это происходит? Благодаря!
Вы пытаетесь сделать это на iPad или iPhone? Посмотрите на это: http://stackoverflow.com/questions/25319179/uipopoverpresentationcontroller-on-ios-8-iphone – pnavk
Да, но это решение включает в себя множественное наследование (от UIViewController и UIPopoverPresentationControllerDelegate), которое не поддерживается в .NET. –
Чтобы обойти это ограничение, вы можете реализовать 'IUIPopoverControllerDelegate' вместо этого и просто переопределить соответствующие методы делегатов. https://developer.xamarin.com/api/type/MonoTouch.UIKit.IUIPopoverControllerDelegate/ – pnavk