0

Webのログインボタンを正常にカスタマイズしましたが、iOSでどのようにカスタマイズできますか?私は探していましたが、何も見つかりませんでした。

私は現在FacebookSDK3.0を使用しており、実装はかなり簡単でしたが、FBLoginViewボタンのデザインが親指のように突き出ています。私はそれをアニメーション化されたボタンで覆い隠そうとしていて、その背後にある実際のFacebookボタンにタッチを転送しようとしています。

Appleは、提出されたときにこの種の回避策を拒否しますか?もっと簡単な方法が必要ですよね?

4

4 に答える 4

1

「FBLoginVIewをカスタマイズする方法」の重複の可能性 質問と回答の両方を確認してください

私の知る限り、Facebookログインビューのカスタマイズに関する拒否の問題は報告されていません。

于 2012-09-13T17:48:56.500 に答える
0

はい、以下のコードを使用して変更できます。

    for (id obj in loginview.subviews)
{
    if ([obj isKindOfClass:[UIButton class]])
    {
        UIButton * loginButton =  obj;
        [loginButton setBackgroundColor:[UIColor blueColor]];
        UIImage *loginImage = [UIImage imageNamed:@"facebook_btn~ipad.png"];
        [loginButton setBackgroundImage:loginImage forState:UIControlStateNormal];
        [loginButton setBackgroundImage:nil forState:UIControlStateSelected];
        [loginButton setBackgroundImage:nil forState:UIControlStateHighlighted];
        [loginButton sizeToFit];
    }
    if ([obj isKindOfClass:[UILabel class]])
    {
        UILabel * loginLabel =  obj;
        loginLabel.text = @"Login with facebook";
        loginLabel.textAlignment = NSTextAlignmentCenter;
        loginLabel.frame = CGRectMake(0, 30, 600, 30);
        //loginLabel.text. = [UIFont fontWithName:@"Default" size:30.0];
        [loginLabel setFont:[UIFont boldSystemFontOfSize:27]];
    }
}
于 2014-01-24T12:13:40.653 に答える
0

FacebookSDKのREADMEファイルをお読みください。行を追加する必要があります-info.plistにFacebookBundleNameを追加し、バンドルの名前を付けます。次に、この名前のバンドルをプロジェクトに追加し、「lang.lproj」という名前のフォルダーに配置します。例:en.lproj --it.lproj --fr.lproj--es.lproj....このフォルダーにLocalizable.stringsファイルを追加すると、次のような多くのフレーズをローカライズできます。

"FBLV:LogOutButton" = "Log Out";
"FBLV:LogInButton" = "Log In";
"FBLV:LoggedInAs" = "Logged in as: %@";
"FBLV:LoggedInUsingFacebook" = "Logged in using Facebook";
"FBLV:LogOutAction" = "Log Out";
"FBLV:CancelAction" = "Cancel";

お役に立てば幸いです。

于 2014-02-17T16:37:49.907 に答える
0
//Add the normal button then add your own image and tittle and give the action the button and use the below code in the button action.
NSMutableDictionary *fbResultData;
 FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login
     logInWithReadPermissions: @[@"public_profile", @"email", @"user_friends"]
     fromViewController:self
     handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
         if (error) {
             NSLog(@"Process error");
         } else if (result.isCancelled) {
             NSLog(@"Cancelled");
         } else {
             NSLog(@"Logged in");

             if ([FBSDKAccessToken currentAccessToken])
             {

                 [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me?fields=id,name,age_range,birthday,devices,email,gender,last_name,family,friends,location,picture" parameters:nil]
                  startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
                      if (!error) {

                          NSString * accessToken = [[FBSDKAccessToken currentAccessToken] tokenString];
                          NSLog(@"fetched user:%@ ,%@", result,accessToken);

                          fbResultData =[[NSMutableDictionary alloc]init];

                          if ([result objectForKey:@"email"]) {
                              [fbResultData setObject:[result objectForKey:@"email"] forKey:@"email"];
                          }
                          if ([result objectForKey:@"gender"]) {
                              [fbResultData setObject:[result objectForKey:@"gender"] forKey:@"gender"];
                          }
                          if ([result objectForKey:@"name"]) {
                              NSArray *arrName;
                              arrName=[[result objectForKey:@"name"] componentsSeparatedByString:@" "];

                              [fbResultData setObject:[arrName objectAtIndex:0] forKey:@"name"];
                          }
                          if ([result objectForKey:@"last_name"]) {
                              [fbResultData setObject:[result objectForKey:@"last_name"] forKey:@"last_name"];
                          }
                          if ([result objectForKey:@"id"]) {
                              [fbResultData setObject:[result objectForKey:@"id"] forKey:@"id"];
                          }

                          FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                                                        initWithGraphPath:[NSString stringWithFormat:@"me/picture?type=large&redirect=false"]
                                                        parameters:nil
                                                        HTTPMethod:@"GET"];
                          [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                                                id result,
                                                                NSError *error) {
                              if (!error){

                                  if ([[result objectForKey:@"data"] objectForKey:@"url"]) {
                                      [fbResultData setObject:[[result objectForKey:@"data"] objectForKey:@"url"] forKey:@"picture"];
                                  }

                                  //You get all detail here in fbResultData
                                  NSLog(@"Final data of FB login********%@",fbResultData);

                                  self.fullNameTextField.text = [fbResultData objectForKey:@"name"];
                                  self.lastNameTextField.text = [fbResultData objectForKey:@"last_name"];
                                  [_customFaceBookButton setImage:[UIImage imageNamed:@"fb_connected"] forState:UIControlStateNormal];

                              } }];
                      }
                      else {
                          NSLog(@"result: %@",[error description]);
                          AlertView *alert = [[AlertView alloc] initWithTitle:NSLocalizedString(@"Error", nil) message:[error description] delegate:nil cancelButtonTitle:NSLocalizedString(@"DISMISS", nil) otherButtonTitle:nil];
                          [alert showInView:self.view.window];
                      }
                  }];
             }
             else{
                 [[FBSDKLoginManager new] logOut];
                  [_customFaceBookButton setImage:[UIImage imageNamed:@"fb_connected"] forState:UIControlStateNormal];
             }
         }
     }];
于 2016-02-06T09:34:30.763 に答える