iOS更改ShareSDK默认的分享功能界面

ShareSDK的集成这里就不详细介绍了, 官网的都已经够详细了..

官方的默认分享样式如下:

贴上我的源代码:

// 创建分享图片
    NSString *imageURLString = @"http://mob.com/Assets/images/logo.png?v=20150320";
    NSArray* imageArray = @[imageURLString];

    // 分享内容参数
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    [shareParams SSDKSetupShareParamsByText:self.productModel.data.title
                                     images:imageArray
                                        url:[NSURL URLWithString:@"http://www.konvy.com"]
                                      title:@"xxxx"
                                       type:SSDKContentTypeAuto];
    [shareParams SSDKEnableUseClientShare];

    __weak typeof(self) weakSelf = self;
    // 分享
    [ShareSDK showShareEditor:type
           otherPlatformTypes:nil
                  shareParams:shareParams
          onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
        switch (state) {
            case SSDKResponseStateSuccess:
                NSLog(@"success");
                break;
            case SSDKResponseStateFail:
                NSLog(@"fail");
                break;
            default:
                break;
        }
    }];

下面是修改样式的代码(貌似在官网我没找到这个东西, 希望下面代码对大家有点作用):

需要注意的是, 这里需要集成ShareSDKUI模块(cocoapods可以通过pod ‘ShareSDK3/ShareSDKUI‘集成..)

然后在需要修改分享视图样式的地方导入, 代码贴上..

#import <ShareSDK/ShareSDK.h>
#import <ShareSDKUI/ShareSDK+SSUI.h>
#import <ShareSDKUI/SSUIEditorViewStyle.h> 

.....

// 创建分享图片
    NSString *imageURLString = @"http://mob.com/Assets/images/logo.png?v=20150320";
    NSArray* imageArray = @[imageURLString];

    // 分享内容参数
    NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
    [shareParams SSDKSetupShareParamsByText:self.productModel.data.title
                                     images:imageArray
                                        url:[NSURL URLWithString:@"http://www.xxxx.com"]
                                      title:@"xxxx"
                                       type:SSDKContentTypeAuto];
    [shareParams SSDKEnableUseClientShare];

    // 初始化编辑界面
    [SSUIEditorViewStyle setiPhoneNavigationBarBackgroundColor:RPNavBarColor];
    [SSUIEditorViewStyle setTitleColor:[UIColor whiteColor]];
    [SSUIEditorViewStyle setCancelButtonLabelColor:[UIColor whiteColor]];
    [SSUIEditorViewStyle setShareButtonLabelColor:[UIColor whiteColor]];
    [SSUIEditorViewStyle setTitle:@"Share"];
    [SSUIEditorViewStyle setCancelButtonLabel:RPLocaolizedStringForKey(@"Cancel_Title")];
    [SSUIEditorViewStyle setShareButtonLabel:RPLocaolizedStringForKey(@"Sure_Title")];

    // 分享
    [ShareSDK showShareEditor:type
           otherPlatformTypes:nil
                  shareParams:shareParams
          onShareStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error, BOOL end) {
        switch (state) {
            case SSDKResponseStateSuccess:
                NSLog(@"xxxx");
                break;
            case SSDKResponseStateFail:
                NSLog(@"xxxx");
                break;
            default:
                break;
        }
    }];

另外这里有个比较费解的问题:

如果你使用了下面类似修改控件全局样式的代码..可能会导致上面部分代码失效, 我问了他们的技术人员, 他们一味的说不知道...orz..

[[UITextField appearance] setTintColor:[UIColor redColor]];
[[UITextView appearance] setTintColor:[UIColor redColor]];

下面是修改后的出现的问题..

你会发现左右两个item的颜色还是没有改变..

注释了上面所说的两行代码后, 一切就正常了...

另外SSUIEditorViewStyle这个类里面还有其他一些接口可以修改这个界面的样式, 例如修改按钮背景图片啊, 文本内容的北京颜色啊等等...

有兴趣的, 可以去看看...

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface SSUIEditorViewStyle : NSObject

/**
*  设置导航栏背景
*
*  @param image 背景图片
*/
+ (void)setiPhoneNavigationBarBackgroundImage:(UIImage *)image;

/**
 *  设置iPhone导航栏颜色
 *
 *  @param color 背景颜色
 */
+ (void)setiPhoneNavigationBarBackgroundColor:(UIColor *)color;

/**
 *  设置iPad导航栏颜色
 *
 *  @param color 背景颜色
 */
+ (void)setiPadNavigationBarBackgroundColor:(UIColor *)color;

/**
 *  设置编辑界面背景颜色
 *
 *  @param color 背景颜色
 */
+ (void)setContentViewBackgroundColor:(UIColor *)color;

/**
 *  设置标题
 *
 *  @param title 标题
 */
+ (void)setTitle:(NSString *)title;

/**
 *  设置标题文本颜色
 *
 *  @param color 颜色
 */
+ (void)setTitleColor:(UIColor *)color;

/**
 *  设置取消按钮标签
 *
 *  @param label 取消按钮标签
 */
+ (void)setCancelButtonLabel:(NSString *)label;

/**
 *  设置取消按钮标签文本颜色
 *
 *  @param color 颜色
 */
+ (void)setCancelButtonLabelColor:(UIColor *)color;

/**
 *  设置取消按钮背景
 *
 *  @param image 图片
 */
+ (void)setCancelButtonImage:(UIImage *)image;

/**
 *  设置分享按钮标签
 *
 *  @param label 取消按钮标签
 */
+ (void)setShareButtonLabel:(NSString *)label;

/**
 *  设置分享按钮标签文本颜色
 *
 *  @param color 颜色
 */
+ (void)setShareButtonLabelColor:(UIColor *)color;

/**
 *  设置分享按钮背景
 *
 *  @param image 图片
 */
+ (void)setShareButtonImage:(UIImage *)image;

/**
 *  设置支持的页面方向(单独分享编辑页面)
 */
+ (void)setSupportedInterfaceOrientation:(UIInterfaceOrientationMask)toInterfaceOrientation;

/**
 *  设置分享编辑页面状态栏风格
 */
+ (void)setStatusBarStyle:(UIStatusBarStyle)statusBarStyle;

@end

  

时间: 2024-11-10 00:19:32

iOS更改ShareSDK默认的分享功能界面的相关文章

封装ShareSDK中的分享功能封以及对类似第三方功能封装的心得【原创】

本篇的主题有三个: 1.封装思想的介绍 2.我的封装代码 3.我在封装sharesdk(采用的是简洁版本)分享功能是碰到的问题,以及解决方法. PS:其实这个我之前封装过一次,不过最近在重构项目时发现,当时封装的是如此的垃圾,所以在这里再来一次.欢迎大家批评纠错. 封装思想 因为这次封装的第三方SDK的功能,所以我采用延展的方式来进行封装.这样有以下两种好处: 1. 这样将第三方功能给模块化,在项目中方便查找和修改. 2. 很多第三方功能都是需要在appdelegae初始化,采用category

Android ShareSDK快速实现分享功能

第一步 :获取ShareSDK 为了集成ShareSDK,您首先需要到ShareSDK官方网站注册并且创建应用,获得ShareSDK的Appkey,然后到SDK的下载页面下载SDK的压缩包,解压以后可以得到如下图的目录结构: ShareSDK在“ShareSDK for Android”目录下,此目录中的“Libs”包含“MainLibs”和“OnekeyShare” 分别是ShareSDK的核心库和“快捷分享”的源码库,说明文档也在“ShareSDK for Android”目录下,集成Sha

iOS项目中使用微信分享功能SDK

1. TARGETS - Info - URL Types identifier -> weixin URL Schemes ->  应用id 2.在AppDelegate.h 引入头文件 - #import "WXApi.h" 定义 { enum WXScene _scene; } 3.在AppDelegate.m中 - (id)init{ if(self = [super init]){ _scene = WXSceneSession; } return self; }

【微信开发】【Asp.net MVC】-- 微信分享功能

内嵌在微信中的网页,右上角都会有一个默认的分享功能.如下图所示,第一个为自定义的效果,第二个为默认的效果.实现了自定义的分享链接是不是更让人有点击的欲望?下面讲解下开发的过程. 一.准备,设置js接口安全域名 这需要使用微信的jssdk,先需要在微信公众号后台进行设置:公众号设置-->功能设置-->JS接口安全域名.打开这个页面之后你会看到下面的提示.需要先下载这个文件并上传到指定域名的根目录. 这个文件里面是一个字符串,从名称看是用来校验用的.先上传了这个文件,你才能保存成功.这样你就可以使

微信开发】【Asp.net MVC】-- 微信分享功能

[微信开发][Asp.net MVC]-- 微信分享功能 2017-01-15 09:09 by stoneniqiu, 12886 阅读, 15 评论, 收藏, 编辑 内嵌在微信中的网页,右上角都会有一个默认的分享功能.如下图所示,第一个为自定义的效果,第二个为默认的效果.实现了自定义的分享链接是不是更让人有点击的欲望?下面讲解下开发的过程. 一.准备,设置js接口安全域名 这需要使用微信的jssdk,先需要在微信公众号后台进行设置:公众号设置-->功能设置-->JS接口安全域名.打开这个页

在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)

最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场.等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,ShareSDK官网的文档比较分散,而且关于Unity的文档比较简略,所以还是有不少的坑.写篇博客分享一下,并加强理解记忆. 第一步,先去ShareSDK的官网下载最新版本的ShareSDK(完全免费).地址:http://www.mob.com/ 我们选择ShareSDK For Unity3D,页面会直

Android - 小功能 - 利用最新版ShareSDK进行手动分享(自定义分享界面)

之前有用过Share SDK进行快捷分享,可是官方demo中的快捷分享的界面已经设置死了,而公司的产品又设计了自己的分享界面,这就需要我进行手动分享了. 看了一堆官方的文档,终于写出来了,好了,不废话,进入主题. 之前没有用过ShareSDK分享过的朋友建议先看看官方的文档,不要火急火急的就像照搬官方的demo, 此为文档地址:: http://wiki.sharesdk.cn/Android_快速集成指南 此为官方demo下载地址:http://sharesdk.cn/Download 此为我

如何使用友盟 Cocos2d-x 分享组件实现 Android/iOS 分享功能

Cocos2d-x作为一款优秀的跨平台游戏引擎,已经被越来越多的开发者使用,而在游戏中使用分享组件能够有效的提供用户粘性,通过分享回流来提高APP安装量,但是目前市面上能够在Cocos2d-x环境下使用的分享插件并不多,开发者们只能自己对原生分享SDK进行封装来实现,前一段时间友盟推出Cocos2d-x分享组件,能够帮助开发者快速集成.友盟也把组件的源码放在GitHub上,有好的想法也可以直接在GitHub上修改(PS.在GitHub上提bug可以获得友盟的小奖品),同样也可以对源码进行学习,对

iOS 分享功能开发

iOS 开发过程中可能会遇到需要进行第三方分享的需求,比如向QQ,微信,微博等分享 如下图 我们今天要讲到的方式是使用了一个第三方工具: http://www.sharesdk.cn 一,注册账号 去官网注册:http://www.sharesdk.cn 创建应用,最终获得 App Key,App Secret 二,SDK集成 下载SDK 把下载的SDK拖到项目工程,在弹出的对话框中选中"Copy items if needed"和"Create groups",并