-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathViewController.cs
65 lines (54 loc) · 2.16 KB
/
ViewController.cs
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
using System;
using TreeMenuSample.Shared;
using TreeMenuView.iOS;
using TreeMenuView.Shared.Models;
using UIKit;
namespace TreeMenuSample.iOS
{
public partial class ViewController : UIViewController
{
private UILabel _label;
private TreeMenuView<Category, long> _treeMenu;
public ViewController(IntPtr handle)
: base(handle)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
InitTreeMenu();
InitLabel();
}
private void InitTreeMenu()
{
_treeMenu = new TreeMenuView<Category, long>(CategoryCell.CellIdentifier, CategoryCell.Height);
_treeMenu.RegisterClassForCell(typeof(CategoryCell), CategoryCell.CellIdentifier);
_treeMenu.View.TranslatesAutoresizingMaskIntoConstraints = false;
View.AddSubview(_treeMenu.View);
_treeMenu.View.TopAnchor.ConstraintEqualTo(View.TopAnchor).Active = true;
_treeMenu.View.LeadingAnchor.ConstraintEqualTo(View.LeadingAnchor).Active = true;
_treeMenu.View.TrailingAnchor.ConstraintEqualTo(View.TrailingAnchor).Active = true;
_treeMenu.View.BottomAnchor.ConstraintEqualTo(View.BottomAnchor).Active = true;
_treeMenu.Items = Category.CreateSamples();
_treeMenu.NodeSelected += HandleSelectedNode;
}
private void HandleSelectedNode(object sender, TreeNode<Category, long> node)
{
_label.Text = $"Selected category is {node.Data.Title}";
}
private void InitLabel()
{
_label = new UILabel();
_label.TranslatesAutoresizingMaskIntoConstraints = false;
_label.Text = $"Selected category is {_treeMenu.CurrentNode.Data.Title}";
View.AddSubview(_label);
_label.CenterXAnchor.ConstraintEqualTo(View.CenterXAnchor).Active = true;
_label.BottomAnchor.ConstraintEqualTo(View.BottomAnchor).Active = true;
}
public override void ViewDidUnload()
{
base.ViewDidUnload();
_treeMenu.NodeSelected -= HandleSelectedNode;
}
}
}