ShareSdk中新浪微博自定义导航栏风格,由于项目中重写了设置LeftItem与RightItem的方法,导致ShareSdk本来的修改按钮颜色的方法失效。下面贴代码:
1 、导航栏左右修改的方法
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1
- (void)setLeftBarButtonItem:(UIBarButtonItem *)_leftBarButtonItem
{
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
{
UIBarButtonItem *negativeSeperator = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
//自定义view才会缩放
if (_leftBarButtonItem.customView) {
negativeSeperator.width = -15;
}
if (_leftBarButtonItem)
{
[self setLeftBarButtonItems:@[negativeSeperator, _leftBarButtonItem]];
}
else
{
[self setLeftBarButtonItems:@[negativeSeperator]];
}
}
else
{
[self setLeftBarButtonItem:_leftBarButtonItem animated:NO];
}
}
- (void)setRightBarButtonItem:(UIBarButtonItem *)_rightBarButtonItem
{
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
{
UIBarButtonItem *negativeSeperator = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
//自定义view才会缩放
if (_rightBarButtonItem.customView) {
negativeSeperator.width = -15;
}
if (_rightBarButtonItem)
{
[self setRightBarButtonItems:@[negativeSeperator, _rightBarButtonItem]];
}
else
{
[self setRightBarButtonItems:@[negativeSeperator]];
}
}
else
{
[self setRightBarButtonItem:_rightBarButtonItem animated:NO];
}
}
#endif
2 、ShareSdk修改文字的方法
- (void)viewOnWillDisplay:(UIViewController *)viewController shareType:(ShareType)shareType
{
for (int i = 0 ; i < [viewController.navigationItem.leftBarButtonItems count]; i++) {
UIBarButtonItem *item = [viewController.navigationItem.leftBarButtonItems objectAtIndex:i];
item.tintColor = [UIColor whiteColor];
}
for (int i = 0 ; i < [viewController.navigationItem.rightBarButtonItems count]; i++) {
UIBarButtonItem *item = [viewController.navigationItem.rightBarButtonItems objectAtIndex:i];
item.tintColor = [UIColor whiteColor];
}
}