blob: 43534b2baeff4e6583b81489234be12528e6a5e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
using System;
#if __UNIFIED__
using UIKit;
#else
using MonoTouch.UIKit;
#endif
namespace Xamarin.Forms.Platform.iOS
{
internal class ModalWrapper : UIViewController
{
IVisualElementRenderer _modal;
internal ModalWrapper(IVisualElementRenderer modal)
{
_modal = modal;
View.BackgroundColor = UIColor.White;
View.AddSubview(modal.ViewController.View);
AddChildViewController(modal.ViewController);
modal.ViewController.DidMoveToParentViewController(this);
}
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
{
return UIInterfaceOrientationMask.All;
}
public override void ViewDidLayoutSubviews()
{
base.ViewDidLayoutSubviews();
if (_modal != null)
_modal.SetElementSize(new Size(View.Bounds.Width, View.Bounds.Height));
}
public override void ViewWillAppear(bool animated)
{
View.BackgroundColor = UIColor.White;
base.ViewWillAppear(animated);
}
protected override void Dispose(bool disposing)
{
if (disposing)
_modal = null;
base.Dispose(disposing);
}
}
internal class PlatformRenderer : UIViewController
{
internal PlatformRenderer(Platform platform)
{
Platform = platform;
}
public Platform Platform { get; set; }
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations()
{
return UIInterfaceOrientationMask.All;
}
public override void ViewDidAppear(bool animated)
{
Platform.DidAppear();
base.ViewDidAppear(animated);
}
public override void ViewDidLayoutSubviews()
{
base.ViewDidLayoutSubviews();
Platform.LayoutSubviews();
}
public override void ViewWillAppear(bool animated)
{
View.BackgroundColor = UIColor.White;
Platform.WillAppear();
base.ViewWillAppear(animated);
}
}
}
|