protected override void OnBindingContextChanged()
        {
            base.OnBindingContextChanged();

            if (BindingContext != null)
            {
                _viewModel = BindingContext as NativeFacebookPageViewModel;
            }
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.Page> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null || Element == null)
            {
                return;
            }

            var pageElement = this.Element as NativeFacebookPage;

            if (pageElement != null)
            {
                viewModel = pageElement.ViewModel;
            }

            try
            {
                InitializedFB();
            }
            catch (System.Exception ex)
            {
            }
        }
Example #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            if (this.Element is NativeFacebookPage pageElement)
            {
                viewModel = pageElement.ViewModel;
            }

            Profile.Notifications.ObserveDidChange(Profile_Changed);

            // Login Button Setup
            loginView = new LoginButton();
            var frame = new CGRect();

            frame.Width               = 218;
            frame.X                   = (UIScreen.MainScreen.Bounds.Width - frame.Width) / 2;
            frame.Height              = 46;
            frame.Y                   = 310;
            loginView.Frame           = frame;
            loginView.LoginBehavior   = LoginBehavior.Native;
            loginView.ReadPermissions = readPermissions.ToArray();

            loginView.Completed += LoginView_Completed;
            loginView.LoggedOut += LoginView_LoggedOut;

            // The user image profile is set automatically once is logged in
            // Create the label that will hold user's facebook name
            // PictureView Setup
            var picFrame = new CGRect();

            picFrame.Width  = 220;
            picFrame.Height = 220;
            picFrame.X      = (UIScreen.MainScreen.Bounds.Width - frame.Width) / 2;
            picFrame.Y      = 70;
            pictureView     = new ProfilePictureView(picFrame);

            // Label Setup
            var labelFrame = new CGRect();

            labelFrame.Width  = 220;
            labelFrame.Height = 21;
            labelFrame.Y      = 50;
            labelFrame.X      = (UIScreen.MainScreen.Bounds.Width - labelFrame.Width) / 2;
            nameLabel         = new UILabel(labelFrame)
            {
                TextAlignment   = UITextAlignment.Center,
                BackgroundColor = UIColor.Clear
            };

            // If you have been logged into the app before, ask for the your profile name
            if (AccessToken.CurrentAccessToken != null)
            {
                ProcessFBInfo();
            }

            // Add views to main view
            View.AddSubview(loginView);
            View.AddSubview(pictureView);
            View.AddSubview(nameLabel);
        }