菜鸟教程小白 发表于 2022-12-12 23:34:16

iOS:Google+ 按钮在 XIB 文件中不起作用?


                                            <p><p>我问 <a href="https://stackoverflow.com/questions/24490620/ios-sign-in-with-google-button" rel="noreferrer noopener nofollow">iOS: Sign In with Google button</a>昨天还在挣扎。我得到的答案帮助我弄清楚 <code>GooglePlus.bundle</code> 导入不正确。 </p>

<p>现在我被困在我通过 <code>XIB</code> 文件创建的按钮没有显示在页面上的部分。</p>

<p><strong>我做了什么?</strong><br/>
我根据这个 <a href="https://gist.github.com/ianbarber/5756364" rel="noreferrer noopener nofollow">gist</a> 添加了一个新按钮,并验证是否一切正常。代码看起来像</p>

<pre><code>- (void)viewDidLoad {
    ;

    GPPSignInButton *button = [ init];
    ;
    ;

    GPPSignIn *signIn = ;
    signIn.shouldFetchGooglePlusUser = YES;
    signIn.shouldFetchGoogleUserEmail = YES;


    ;


    signIn.clientID = kClientId;
    signIn.scopes = @[@&#34;profile&#34;];
    signIn.delegate = self;
//    ;

}
</code></pre>

<p>当我运行它时,我看到了<br/>
<img src="/image/JSHBp.png" alt="enter image description here"/> </p>

<p>所以手动添加的按钮有效,但不是我使用 <code>xib</code> 创建的按钮。我的 <code>xib</code> 看起来像<br/>
<img src="/image/jlrZw.png" alt="enter image description here"/> </p>

<p>在 <code>GooglePlusLoginViewController.h</code> 中的代码看起来像 </p>

<pre><code>#import &lt;UIKit/UIKit.h&gt;
#import &lt;GooglePlus/GooglePlus.h&gt;

@class GPPSignInButton;

@interface GooglePlusLoginViewController : UIViewController &lt;GPPSignInDelegate&gt;
@property(weak, nonatomic) IBOutlet GPPSignInButton *signInButton;
@end
</code></pre>

<p>我想知道我做错了什么,有人能发现吗?</p>

<p>谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这是一个不好的方法。如果您仔细查看输出,蓝色按钮仍保留在背景中。这是因为,您在 <code>storyboard</code>/<code>xib</code> 中添加了 <code>UIButton</code>,并且已将它们连接到 <code>ViewController.h</code> 文件。</p>

<p>然后您将创建 <code>GPPSignInButton</code> 的新实例并将其添加回您之前创建的 <code>UIButton</code>。</p>

<p>您不应该在按钮内创建按钮。</p>

<p>顺便说一句,我今天遇到了同样的问题,这是我的解决方法。</p>

<p>我以编程方式创建了 <code>GPPSignInButton</code>,并以编程方式将其定位在 <code>view</code> 中。</p>

<p>在 <code>ViewController.m</code></p> 的 <code>viewDidLoad</code> 中添加这个

<pre><code>GPPSignInButton *button = [ init];
;

CGRect frame = button.frame;
frame.origin.x = 50;
frame.origin.y = 190;
button.frame = frame;

;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS:Google&#43; 按钮在 XIB 文件中不起作用?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24511134/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24511134/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS:Google&#43; 按钮在 XIB 文件中不起作用?