继上篇
过后,新浪微博授权弹出的网页又有调整,中间还有过瘫痪情况。如果按上篇做出来的授权页面就成这样了:
第一:网页页面变大了,
第二:没有了取消按钮。
根据这个情况在sina weibo SDK里做了写调整
调整:增加一个关闭按钮,弹出窗口大小。
在WBAuthorizeWebView.m文件的方法:bounceOutAnimationStoppe
- 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:UIControlEventTouchUpIns ide]; -
[self addSubview:closeButton];
close.png图片sdk里自带就有。hideAndCleanUp方法就是把窗口移除。hideAndCleanUp方法原来就有。运行效果:
看右下角有个关闭按钮,为什么放在右下角呢,因为右上角有个注册按钮,容易被点到。一会把网页窗口最大化了就能看到了。
扩大窗口
在WBAuthorizeWebView.m文件的方法- (void)sizeToFitOrientation:(UIInterfaceOrientation)orientation 修改如下:
上面的尺寸是横屏的时候的,我修改了竖屏时的窗口的大小。
- -
(void)sizeToFitOrientation:(UIInterfaceOrientation)orientation - {
-
[self setTransform:CGAffineTransformIdentit y]; -
-
if (UIInterfaceOrientationIs Landscape(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 dictionaryWithObjectsAnd Keys:appKey, @"client_id", -
@"code", @"response_type", -
redirectURI, @"redirect_uri", -
@"mobile", @"display", -
@"true",@"forcelogin", nil];
就是在 params里添加@”true”,@”forcelogin”。
以上是使用新浪微博sdk开发遇到的问题和解决的一些方法。