void ReleaseDesignerOutlets()
        {
            if (TitleLabel != null)
            {
                TitleLabel.Dispose();
                TitleLabel = null;
            }

            if (LocationLabel != null)
            {
                LocationLabel.Dispose();
                LocationLabel = null;
            }

            if (TimeLabel != null)
            {
                TimeLabel.Dispose();
                TimeLabel = null;
            }

            if (SpeakerLabel != null)
            {
                SpeakerLabel.Dispose();
                SpeakerLabel = null;
            }

            if (OverviewLabel != null)
            {
                OverviewLabel.Dispose();
                OverviewLabel = null;
            }

            if (FavoriteButton != null)
            {
                FavoriteButton.Dispose();
                FavoriteButton = null;
            }

            if (ScrollView != null)
            {
                ScrollView.Dispose();
                ScrollView = null;
            }
        }
Exemple #2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            int width = 245;

            if (!UserInterfaceIdiomIsPhone)
            {
                width = 700;
            }

            session = BL.Managers.SessionManager.GetSession(sessionId);

            Title             = "Session Detail";
            TitleLabel.Text   = session.Title;
            SpeakerLabel.Text = session.SpeakerNames;
            TimeLabel.Text    = session.Start.ToString("dddd") + " " +
                                session.Start.ToString("H:mm") + " - " +
                                session.End.ToString("H:mm");
            LocationLabel.Text = session.Room;
            OverviewLabel.Text = session.Overview;

            SizeF titleSize = TitleLabel.StringSize(session.Title
                                                    , UIFont.FromName("Helvetica-Light", AppDelegate.Font16pt)
                                                    , new SizeF(245, 400), UILineBreakMode.WordWrap);

            TitleLabel.Font      = UIFont.FromName("Helvetica-Light", AppDelegate.Font16pt);
            TitleLabel.TextColor = UIColor.Black;
            TitleLabel.Frame     = new RectangleF(13, 15, width, titleSize.Height);
            TitleLabel.Lines     = 0;
            TitleLabel.Font      = UIFont.FromName("Helvetica-Light", AppDelegate.Font16pt);

            SizeF speakerSize = TitleLabel.StringSize(session.SpeakerNames
                                                      , UIFont.FromName("Helvetica-LightOblique", AppDelegate.Font10pt)
                                                      , new SizeF(245, 400), UILineBreakMode.WordWrap);

            SpeakerLabel.Font  = UIFont.FromName("Helvetica-LightOblique", AppDelegate.Font10pt);
            SpeakerLabel.Frame = new RectangleF(13
                                                , 15 + 13 + titleSize.Height
                                                , width, speakerSize.Height);
            TimeLabel.Font  = UIFont.FromName("Helvetica-Light", AppDelegate.Font7_5pt);
            TimeLabel.Frame = new RectangleF(13
                                             , 15 + titleSize.Height + 13 + speakerSize.Height + 5
                                             , width, 10);

            LocationLabel.Font  = UIFont.FromName("Helvetica-Light", AppDelegate.Font7_5pt);
            LocationLabel.Frame = new RectangleF(13
                                                 , 15 + titleSize.Height + 13 + speakerSize.Height + 7 + 12
                                                 , width, 10);

            float overviewLabelWidth  = 310;
            var   overviewLabelY      = 15 + titleSize.Height + 13 + speakerSize.Height + TimeLabel.Frame.Height + LocationLabel.Frame.Height + 20;
            float overviewLabelHeight = (UserInterfaceIdiomIsPhone?360:854) - overviewLabelY;

            OverviewLabel.Editable = false;
            OverviewLabel.Font     = UIFont.FromName("Helvetica-Light", AppDelegate.Font10_5pt);
            if (AppDelegate.IsPhone)
            {
                // going to scroll the whole thing!
                OverviewLabel.ScrollEnabled = false;

                SizeF overviewSize = OverviewLabel.StringSize(
                    session.Overview
                    , UIFont.FromName("Helvetica-Light", AppDelegate.Font10_5pt)
                    , new SizeF(overviewLabelWidth, 2500)                                             // just width wasn't working...
                    , UILineBreakMode.WordWrap);

                overviewLabelHeight = overviewSize.Height + 30;

                ScrollView.ContentSize = new SizeF(320, overviewLabelY + overviewLabelHeight + 10);
            }

            OverviewLabel.Frame = new RectangleF(5
                                                 , overviewLabelY
                                                 , UserInterfaceIdiomIsPhone?overviewLabelWidth:700
                                                 , overviewLabelHeight);


            FavoriteButton.TouchUpInside += (sender, e) => {
                ToggleFavorite();
            };

            if (FavoritesManager.IsFavorite(session.Key))
            {
                FavoriteButton.SetImage(new UIImage(AppDelegate.ImageIsFavorite), UIControlState.Normal);
            }
            else
            {
                FavoriteButton.SetImage(new UIImage(AppDelegate.ImageNotFavorite), UIControlState.Normal);
            }
        }