iOS學習之iOS5.0以上使用新浪微博開放平台OAuth 續(及解決登入無效問題)

來源:互聯網
上載者:User

繼上篇 iOS學習之iOS5.0以上 使用新浪微博開放平台OAuth

過後,新浪微博授權彈出的網頁又有調整,中間還有過癱瘓情況。如果按上篇做出來的授權頁面就成這樣了:

第一:網頁頁面變大了,

第二:沒有了取消按鈕。


根據這個情況在sina weibo SDK裡做了寫調整

調整:增加一個關閉按鈕,快顯視窗大小。

在WBAuthorizeWebView.m檔案的方法:bounceOutAnimationStopped裡添加按鈕:

UIButton *closeButton = [UIButton buttonWithType:UIButtonTypeCustom];    [closeButton setFrame:CGRectMake(280, 430, 60, 60)];    [closeButton setImageEdgeInsets:UIEdgeInsetsMake(3, 0, 0, 0)];    [closeButton setImage:[UIImage imageNamed:@"close"] forState:UIControlStateNormal];        [closeButton addTarget:self action:@selector(hideAndCleanUp) forControlEvents:UIControlEventTouchUpInside];    [self addSubview:closeButton];

close.png圖片sdk裡內建就有。hideAndCleanUp方法就是把視窗移除。hideAndCleanUp方法原來就有。運行效果:

看右下角有個關閉按鈕,為什麼放在右下角呢,因為右上方有個註冊按鈕,容易被點到。一會把網頁視窗最大化了就能看到了。

擴大視窗

在WBAuthorizeWebView.m檔案的方法- (void)sizeToFitOrientation:(UIInterfaceOrientation)orientation 修改如下:

上面的尺寸是橫屏的時候的,我修改了豎屏時的視窗的大小。

- (void)sizeToFitOrientation:(UIInterfaceOrientation)orientation{    [self setTransform:CGAffineTransformIdentity];        if (UIInterfaceOrientationIsLandscape(orientation))    {        [self setFrame:CGRectMake(0, 0, 480, 320)];        [panelView setFrame:CGRectMake(10, 30, 460, 280)];        [containerView setFrame:CGRectMake(10, 10, 440, 260)];        [webView setFrame:CGRectMake(0, 0, 440, 260)];        [indicatorView setCenter:CGPointMake(240, 160)];    }    else    {        [self setFrame:CGRectMake(0, 5, 320, 470)];        [panelView setFrame:CGRectMake(0, 5, 320, 470)];        [containerView setFrame:CGRectMake(0, 5, 320, 460)];        [webView setFrame:CGRectMake(0, 0, 320, 460)];        [indicatorView setCenter:CGPointMake(160, 240)];    }        [self setCenter:CGPointMake(160, 240)];        [self setTransform:[self transformForOrientation:orientation]];        previousOrientation = orientation;}

運行效果:

這個狀態差不多就可以了。

還有在調用WeiBoEngine 的Logout 登出無效的情況。修改如下:

在WBAuthorize.m檔案,把startAuthorize函數修改如下:

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:appKey, @"client_id",                                                                      @"code", @"response_type",                                                                      redirectURI, @"redirect_uri",                                                                       @"mobile", @"display",                                                                      @"true",@"forcelogin", nil];

就是在 params裡添加@”true”,@”forcelogin”。

以上是使用新浪微博sdk開發遇到的問題和解決的一些方法。

修改過的項目代碼:http://download.csdn.net/detail/totogo2010/4928029

容芳志 (http://blog.csdn.net/totogo2010)

本文遵循“署名-非商業用途-保持一致”創作公用協議

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.