У моего приложения есть экран входа в систему Facebook, который после входа в систему показывает фотографию, изображение, имя пользователя, адрес электронной почты и выхода из системы .Link View Controllers to Mirror
Я пытаюсь выяснить, как связать текущих пользователей фотографию с UIView или UIImageView (который когда-либо более применим, поскольку я использовал UIView называется FBProfilePictureView) в основном ВК называется HomeViewController. Вот код, который у меня есть для LoginViewController, который запрашивает и возвращает информацию FB. У меня также есть segue на HomeViewController после ввода информации о пользователе.
LoginViewController.h:
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
#import <FacebookSDK/FacebookSDK.h>
@interface LoginViewController : UIViewController <FBLoginViewDelegate>
@property (weak, nonatomic) IBOutlet FBLoginView *loginButton;
@property (weak, nonatomic) IBOutlet UILabel *lblLoginStatus;
@property (weak, nonatomic) IBOutlet UILabel *lblUsername;
@property (weak, nonatomic) IBOutlet UILabel *lblEmail;
@property (weak, nonatomic) IBOutlet FBProfilePictureView *profilePicture;
@property (strong, nonatomic) IBOutlet UIImageView *loginwallpaper;
@property (strong, nonatomic) IBOutlet UIImageView *loggedinwallpaper;
@property (strong, nonatomic) IBOutlet UIImageView *FBlogin;
@property (strong, nonatomic) IBOutlet UIImageView *FBlogout;
@end
и вот LoginViewController.m
#import "LoginViewController.h"
@interface LoginViewController()
- (void)toggleHiddenState:(BOOL)shouldHide;
@end
@implementation LoginViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self toggleHiddenState:YES];
self.lblLoginStatus.text = @"";
self.loginButton.readPermissions = @[@"public_profile", @"email"];
self.loginButton.layer.cornerRadius = 0;
[self.loginButton.layer setBorderWidth:0.0f];
self.loginButton.delegate = self;
// Do any additional setup after loading the view.
}
-(void)toggleHiddenState:(BOOL)shouldHide{
self.lblUsername.hidden = shouldHide;
self.lblEmail.hidden = shouldHide;
self.profilePicture.hidden = shouldHide;
self.loggedinwallpaper.hidden = shouldHide;
self.FBlogout.hidden = shouldHide;
}
-(void)toggleUnhiddenState:(BOOL)shouldShow{
self.loggedinwallpaper.hidden = NO;
}
-(void)loginViewShowingLoggedInUser:(FBLoginView *)loginView{
self.lblLoginStatus.text = @"";
[self toggleHiddenState:NO];
[self toggleUnhiddenState:YES];
}
-(void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView{
self.lblLoginStatus.text = @"";
[self toggleHiddenState:YES];
}
-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user{
NSLog(@"%@", user);
self.profilePicture.profileID = user.objectID;
self.lblUsername.text = user.name;
self.lblEmail.text = [user objectForKey:@"email"];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UITabBarController *tabcontroller = (UITabBarController *)[storyboard instantiateViewControllerWithIdentifier:@"HomeViewController"];
[self presentViewController:tabcontroller animated:YES completion:nil];
}
-(void)loginView:(FBLoginView *)loginView handleError:(NSError *)error{
NSLog(@"%@", [error localizedDescription]);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
Все другие вопросы размещены здесь не очень помогло - они были слишком расплывчатым.
Если кто-то может просто показать мне, как подключить этот профиль к UIImageView или UIView в HomeViewController, это было бы замечательно! Я знаю, что это легко, и я просто разочарован тем, что это дает мне такую проблему.
(Я знаю, что мне нужно использовать метод prepareForSeuge. Я просто не уверен в синтаксисе, как это сделать.)