Skip to content

Commit 31dbf10

Browse files
committed
冒泡详情、网页。。添加举报功能
1 parent 6ee1ada commit 31dbf10

13 files changed

Lines changed: 310 additions & 4 deletions

Coding_iOS.xcodeproj/project.pbxproj

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@
193193
4ECE8B041A3946C10021E29C /* UnReadManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AFA1A3946C10021E29C /* UnReadManager.m */; };
194194
4ECE8B051A3946C10021E29C /* WebContentManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8AFC1A3946C10021E29C /* WebContentManager.m */; };
195195
4ECE8B081A3947300021E29C /* BasicPreviewItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ECE8B071A3947300021E29C /* BasicPreviewItem.m */; };
196+
4ED6731E1A8DD38C00DF2D1A /* ReportIllegalViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED6731D1A8DD38C00DF2D1A /* ReportIllegalViewController.m */; };
197+
4ED673221A8E0ECC00DF2D1A /* SVWebViewControllerActivityReport.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ED673211A8E0ECC00DF2D1A /* SVWebViewControllerActivityReport.m */; };
198+
4ED673261A8E127100DF2D1A /* SVWebViewControllerActivityReport@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED673251A8E127100DF2D1A /* SVWebViewControllerActivityReport@2x.png */; };
199+
4ED673281A8E12F900DF2D1A /* SVWebViewControllerActivityReport-iPad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4ED673271A8E12F900DF2D1A /* SVWebViewControllerActivityReport-iPad@2x.png */; };
196200
4EDD8F511A36F42200E9E232 /* libXG-SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDD8F4D1A36F42200E9E232 /* libXG-SDK.a */; };
197201
4EDD8F521A36F42300E9E232 /* ReleaseNotes.txt in Resources */ = {isa = PBXBuildFile; fileRef = 4EDD8F4E1A36F42200E9E232 /* ReleaseNotes.txt */; };
198202
4EDD8F541A36F4AC00E9E232 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EDD8F531A36F4AC00E9E232 /* CFNetwork.framework */; };
@@ -841,6 +845,12 @@
841845
4ECE8AFC1A3946C10021E29C /* WebContentManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebContentManager.m; sourceTree = "<group>"; };
842846
4ECE8B061A3947300021E29C /* BasicPreviewItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BasicPreviewItem.h; sourceTree = "<group>"; };
843847
4ECE8B071A3947300021E29C /* BasicPreviewItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BasicPreviewItem.m; sourceTree = "<group>"; };
848+
4ED6731C1A8DD38C00DF2D1A /* ReportIllegalViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReportIllegalViewController.h; sourceTree = "<group>"; };
849+
4ED6731D1A8DD38C00DF2D1A /* ReportIllegalViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReportIllegalViewController.m; sourceTree = "<group>"; };
850+
4ED673201A8E0ECC00DF2D1A /* SVWebViewControllerActivityReport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVWebViewControllerActivityReport.h; sourceTree = "<group>"; };
851+
4ED673211A8E0ECC00DF2D1A /* SVWebViewControllerActivityReport.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVWebViewControllerActivityReport.m; sourceTree = "<group>"; };
852+
4ED673251A8E127100DF2D1A /* SVWebViewControllerActivityReport@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "SVWebViewControllerActivityReport@2x.png"; sourceTree = "<group>"; };
853+
4ED673271A8E12F900DF2D1A /* SVWebViewControllerActivityReport-iPad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "SVWebViewControllerActivityReport-iPad@2x.png"; sourceTree = "<group>"; };
844854
4EDD8F4D1A36F42200E9E232 /* libXG-SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libXG-SDK.a"; sourceTree = "<group>"; };
845855
4EDD8F4E1A36F42200E9E232 /* ReleaseNotes.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReleaseNotes.txt; sourceTree = "<group>"; };
846856
4EDD8F4F1A36F42200E9E232 /* XGPush.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XGPush.h; sourceTree = "<group>"; };
@@ -1407,6 +1417,7 @@
14071417
4E217EFD1A70EDC700F6DF88 /* UIActivities */ = {
14081418
isa = PBXGroup;
14091419
children = (
1420+
4ED6731F1A8E0E8F00DF2D1A /* Report */,
14101421
4E217EFE1A70EDC700F6DF88 /* Chrome */,
14111422
4E217F041A70EDC700F6DF88 /* Safari */,
14121423
4E217F0A1A70EDC700F6DF88 /* SVWebViewControllerActivity.h */,
@@ -1824,6 +1835,17 @@
18241835
path = Manager;
18251836
sourceTree = "<group>";
18261837
};
1838+
4ED6731F1A8E0E8F00DF2D1A /* Report */ = {
1839+
isa = PBXGroup;
1840+
children = (
1841+
4ED673201A8E0ECC00DF2D1A /* SVWebViewControllerActivityReport.h */,
1842+
4ED673211A8E0ECC00DF2D1A /* SVWebViewControllerActivityReport.m */,
1843+
4ED673251A8E127100DF2D1A /* SVWebViewControllerActivityReport@2x.png */,
1844+
4ED673271A8E12F900DF2D1A /* SVWebViewControllerActivityReport-iPad@2x.png */,
1845+
);
1846+
path = Report;
1847+
sourceTree = "<group>";
1848+
};
18271849
4EDD8F4C1A36F42200E9E232 /* XGPush */ = {
18281850
isa = PBXGroup;
18291851
children = (
@@ -2194,6 +2216,8 @@
21942216
4E59E1D21A5E6B34004DAEEC /* TaskDescriptionViewController.m */,
21952217
4E4ABBE81A653027004760D9 /* WebViewController.h */,
21962218
4E4ABBE91A653027004760D9 /* WebViewController.m */,
2219+
4ED6731C1A8DD38C00DF2D1A /* ReportIllegalViewController.h */,
2220+
4ED6731D1A8DD38C00DF2D1A /* ReportIllegalViewController.m */,
21972221
);
21982222
path = Controllers;
21992223
sourceTree = "<group>";
@@ -2853,6 +2877,7 @@
28532877
8E97CE6C1A0B243B006F9AD7 /* keyboard_add@2x.png in Resources */,
28542878
4EA6791A1A14BFA0001A0324 /* icon_file_folder_normal@2x.png in Resources */,
28552879
8EA6D19919E240C40076D59C /* tipIcon_ProjectTopic@2x.png in Resources */,
2880+
4ED673261A8E127100DF2D1A /* SVWebViewControllerActivityReport@2x.png in Resources */,
28562881
4E76D4D91A5A71C50094A35E /* taskPriority2_small@2x.png in Resources */,
28572882
8EA6D14A19E240C40076D59C /* InfoPlist.strings in Resources */,
28582883
8E8F7B3419EF6306006BA8BD /* btn_project_added@2x.png in Resources */,
@@ -2923,6 +2948,7 @@
29232948
8E8F7B3219EF6306006BA8BD /* btn_privateMsg_white@2x.png in Resources */,
29242949
8E97CEBB1A0C7E26006F9AD7 /* coding_emoji_36@2x.png in Resources */,
29252950
8EA6D19F19E240C40076D59C /* tipIcon_TweetComment@2x.png in Resources */,
2951+
4ED673281A8E12F900DF2D1A /* SVWebViewControllerActivityReport-iPad@2x.png in Resources */,
29262952
4E07D30E1A4A9F45009EDDF2 /* btn_file_reDo@2x.png in Resources */,
29272953
8EA6D15F19E240C40076D59C /* logo_about@2x.png in Resources */,
29282954
4E66EE2A1A28226000DA1B3E /* button_file_upload_enable@2x.png in Resources */,
@@ -3138,6 +3164,7 @@
31383164
4EA679131A1466A6001A0324 /* ProjectFiles.m in Sources */,
31393165
4EBDA87C1A6640340035ED96 /* UIActionSheet+Common.m in Sources */,
31403166
4E96E7BB1A1B25D40037C098 /* DirectoryWatcher.m in Sources */,
3167+
4ED673221A8E0ECC00DF2D1A /* SVWebViewControllerActivityReport.m in Sources */,
31413168
4E6BA2E41A1EE6AF005FD721 /* UIButton+AFNetworking.m in Sources */,
31423169
8EF643C919FF7E2900F7EEB0 /* TopicCommentCell.m in Sources */,
31433170
8EF643CD19FF7E2900F7EEB0 /* TweetCommentMoreCell.m in Sources */,
@@ -3160,6 +3187,7 @@
31603187
8EA6D20A19E240C40076D59C /* RDVTabBar.m in Sources */,
31613188
8E1C3DF019E7D58A00EF3032 /* DistancePickerView.m in Sources */,
31623189
8EA6D1B219E240C40076D59C /* Depot.m in Sources */,
3190+
4ED6731E1A8DD38C00DF2D1A /* ReportIllegalViewController.m in Sources */,
31633191
8EF643CE19FF7E2900F7EEB0 /* TweetDetailCell.m in Sources */,
31643192
8E59F0E21A0098BA009A905F /* UIScrollView+SVInfiniteScrolling.m in Sources */,
31653193
4E15C7D01A26D2F000FB8DAD /* FolderToMoveViewController.m in Sources */,
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
//
2+
// ReportIllegalViewController.h
3+
// Coding_iOS
4+
//
5+
// Created by Ease on 15/2/13.
6+
// Copyright (c) 2015年 Coding. All rights reserved.
7+
//
8+
9+
#import "BaseViewController.h"
10+
#import "CodingNetAPIClient.h"
11+
12+
13+
14+
@interface ReportIllegalViewController : BaseViewController
15+
16+
@property (strong, nonatomic) NSString *illegalContent;
17+
@property (nonatomic, assign) IllegalContentType type;
18+
19+
+ (void)showReportWithIllegalContent:(NSString *)illegalContent andType:(IllegalContentType)type;
20+
21+
@end
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
//
2+
// ReportIllegalViewController.m
3+
// Coding_iOS
4+
//
5+
// Created by Ease on 15/2/13.
6+
// Copyright (c) 2015年 Coding. All rights reserved.
7+
//
8+
9+
#define kCellIdentifier_ValueList @"ValueListCell"
10+
11+
#import "ReportIllegalViewController.h"
12+
#import "ValueListCell.h"
13+
#import "Login.h"
14+
#import "Coding_NetAPIManager.h"
15+
16+
17+
@interface ReportIllegalViewController ()<UITableViewDataSource, UITableViewDelegate>
18+
@property (nonatomic, assign) NSInteger selectedIndex;
19+
@property (strong, nonatomic) NSArray *dataList;
20+
@property (strong, nonatomic) UITableView *myTableView;
21+
22+
@end
23+
24+
25+
@implementation ReportIllegalViewController
26+
27+
- (void)viewDidLoad{
28+
[super viewDidLoad];
29+
_selectedIndex = NSNotFound;
30+
_dataList = @[
31+
@"淫秽色情",
32+
@"垃圾广告",
33+
@"敏感信息",
34+
@"抄袭内容",
35+
@"侵犯版权",
36+
@"骚扰我"
37+
];
38+
39+
self.title = @"举报";
40+
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStylePlain target:self action:@selector(dismissSelf)];
41+
self.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithBtnTitle:@"提交" target:self action:@selector(submitClicked:)];
42+
43+
// 添加myTableView
44+
_myTableView = ({
45+
UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped];
46+
tableView.dataSource = self;
47+
tableView.delegate = self;
48+
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
49+
[tableView registerClass:[ValueListCell class] forCellReuseIdentifier:kCellIdentifier_ValueList];
50+
tableView.backgroundColor = [UIColor colorWithHexString:@"0xe5e5e5"];
51+
[self.view addSubview:tableView];
52+
[tableView mas_makeConstraints:^(MASConstraintMaker *make) {
53+
make.edges.equalTo(self.view);
54+
}];
55+
tableView;
56+
});
57+
58+
@weakify(self);
59+
60+
[RACObserve(self, selectedIndex) subscribeNext:^(id x) {
61+
@strongify(self);
62+
self.navigationItem.rightBarButtonItem.enabled = (self.selectedIndex >= 0
63+
&& self.selectedIndex < [self.dataList count]);
64+
}];
65+
66+
67+
}
68+
- (void)dismissSelf{
69+
[self dismissViewControllerAnimated:YES completion:nil];
70+
}
71+
72+
- (void)submitClicked:(id)sender{
73+
if (_illegalContent.length > 0) {
74+
NSString *user_globalKey = [Login curLoginUser].global_key;
75+
NSString *reasonStr = [self.dataList objectAtIndex:self.selectedIndex];
76+
NSDictionary *params = @{
77+
@"user": user_globalKey,
78+
@"content" : _illegalContent,
79+
@"reason" : reasonStr
80+
};
81+
[[CodingNetAPIClient sharedJsonClient] reportIllegalContentWithType:self.type withParams:params];
82+
}
83+
[self showHudTipStr:@"举报信息已发送"];
84+
[self dismissSelf];
85+
}
86+
87+
#pragma mark Show
88+
+ (void)showReportWithIllegalContent:(NSString *)illegalContent andType:(IllegalContentType)type{
89+
ReportIllegalViewController *vc = [[ReportIllegalViewController alloc] init];
90+
vc.illegalContent = illegalContent;
91+
vc.type = type;
92+
UINavigationController *nav = [[BaseNavigationController alloc] initWithRootViewController:vc];
93+
[[BaseViewController presentingVC] presentViewController:nav animated:YES completion:nil];
94+
}
95+
96+
97+
#pragma mark TableM
98+
99+
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
100+
return [self.dataList count];
101+
}
102+
103+
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
104+
ValueListCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellIdentifier_ValueList forIndexPath:indexPath];
105+
106+
[cell setTitleStr:[_dataList objectAtIndex:indexPath.row] imageStr:nil isSelected:(_selectedIndex == indexPath.row)];
107+
[tableView addLineforPlainCell:cell forRowAtIndexPath:indexPath withLeftSpace:10];
108+
return cell;
109+
}
110+
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
111+
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreen_Width, 40)];
112+
headerView.backgroundColor = [UIColor colorWithHexString:@"0xe5e5e5"];
113+
114+
UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
115+
headerLabel.font = [UIFont systemFontOfSize:15];
116+
headerLabel.textColor = [UIColor lightGrayColor];
117+
[headerView addSubview:headerLabel];
118+
[headerLabel mas_makeConstraints:^(MASConstraintMaker *make) {
119+
make.left.equalTo(headerView).offset(20);
120+
make.right.equalTo(headerView).offset(-20);
121+
make.bottom.equalTo(headerView).offset(-5);
122+
make.height.mas_equalTo(20);
123+
}];
124+
125+
headerLabel.text = @"举报类型";
126+
return headerView;
127+
}
128+
129+
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
130+
return 40;
131+
}
132+
133+
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
134+
return 0.5;
135+
}
136+
137+
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
138+
[tableView deselectRowAtIndexPath:indexPath animated:YES];
139+
self.selectedIndex = indexPath.row;
140+
[self.myTableView reloadData];
141+
}
142+
143+
@end

Coding_iOS/Controllers/TweetDetailViewController.m

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#import "MJPhotoBrowser.h"
2323
#import "EditTaskViewController.h"
2424
#import "WebViewController.h"
25+
#import "ReportIllegalViewController.h"
2526

2627
@interface TweetDetailViewController ()
2728
@property (nonatomic, strong) UITableView *myTableView;
@@ -53,7 +54,8 @@ - (void)viewDidLoad
5354
[super viewDidLoad];
5455
// Do any additional setup after loading the view.
5556
self.title = @"冒泡详情";
56-
57+
[self.navigationItem setRightBarButtonItem:[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"moreBtn_Nav"] style:UIBarButtonItemStylePlain target:self action:@selector(rightNavBtnClicked)] animated:NO];
58+
5759
// 添加myTableView
5860
_myTableView = ({
5961
UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
@@ -116,6 +118,29 @@ - (void)didReceiveMemoryWarning
116118
[super didReceiveMemoryWarning];
117119
// Dispose of any resources that can be recreated.
118120
}
121+
122+
- (void)rightNavBtnClicked{
123+
if (self.curTweet.id && [self.curTweet.id isKindOfClass:[NSNumber class]]) {
124+
[_myMsgInputView isAndResignFirstResponder];
125+
@weakify(self);
126+
[[UIActionSheet bk_actionSheetCustomWithTitle:nil buttonTitles:@[@"举报"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIActionSheet *sheet, NSInteger index) {
127+
if (index == 0) {
128+
@strongify(self);
129+
[self goToReport];
130+
}
131+
}] showInView:kKeyWindow];
132+
}
133+
}
134+
135+
- (void)goToReport{
136+
if (self.curTweet.id && [self.curTweet.id isKindOfClass:[NSNumber class]]) {
137+
NSNumber *tweet_id = self.curTweet.id;
138+
[ReportIllegalViewController showReportWithIllegalContent:tweet_id.stringValue andType:IllegalContentTypeTweet];
139+
}else{
140+
[self showHudTipStr:@"冒泡为空"];
141+
}
142+
}
143+
119144
#pragma mark UIMessageInputViewDelegate
120145
- (void)messageInputView:(UIMessageInputView *)inputView sendText:(NSString *)text{
121146
[self sendCommentMessage:text];

Coding_iOS/Util/Manager/CodingNetAPIClient.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ typedef enum {
1717
Delete
1818
} NetworkMethod;
1919

20+
typedef NS_ENUM(NSInteger, IllegalContentType) {
21+
IllegalContentTypeTweet = 0,
22+
IllegalContentTypeTopic,
23+
IllegalContentTypeProject,
24+
IllegalContentTypeWebsite
25+
};
2026

2127
@interface CodingNetAPIClient : AFHTTPRequestOperationManager
2228

@@ -29,6 +35,9 @@ typedef enum {
2935
withMethodType:(int)NetworkMethod
3036
andBlock:(void (^)(id data, NSError *error))block;
3137

38+
- (void)reportIllegalContentWithType:(IllegalContentType)type
39+
withParams:(NSDictionary*)params;
40+
3241
- (void)uploadImage:(UIImage *)image path:(NSString *)path name:(NSString *)name
3342
successBlock:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
3443
failureBlock:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure

Coding_iOS/Util/Manager/CodingNetAPIClient.m

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,35 @@ - (void)requestJsonDataWithPath:(NSString *)aPath
116116
}
117117
}
118118

119+
- (void)reportIllegalContentWithType:(IllegalContentType)type
120+
withParams:(NSDictionary*)params{
121+
NSString *aPath;
122+
switch (type) {
123+
case IllegalContentTypeTweet:
124+
aPath = @"/api/inform/tweet";
125+
break;
126+
case IllegalContentTypeTopic:
127+
aPath = @"/api/inform/topic";
128+
break;
129+
case IllegalContentTypeProject:
130+
aPath = @"/api/inform/project";
131+
break;
132+
case IllegalContentTypeWebsite:
133+
aPath = @"/api/inform/website";
134+
break;
135+
default:
136+
aPath = @"/api/inform/tweet";
137+
break;
138+
}
139+
DebugLog(@"\n===========request===========\n%@:\n%@", aPath, params);
140+
[self POST:aPath parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
141+
DebugLog(@"\n===========response===========\n%@:\n%@", aPath, responseObject);
142+
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
143+
DebugLog(@"\n===========response===========\n%@:\n%@", aPath, error);
144+
}];
145+
}
146+
147+
119148
+ (void)saveCookieData{
120149
NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies];
121150
for (NSHTTPCookie *cookie in cookies) {

Coding_iOS/Vendor/SVWebViewController/SVWebViewController.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#import "SVWebViewControllerActivityChrome.h"
1010
#import "SVWebViewControllerActivitySafari.h"
11+
#import "SVWebViewControllerActivityReport.h"
1112
#import "SVWebViewController.h"
1213

1314
@interface SVWebViewController () <UIWebViewDelegate>
@@ -279,7 +280,7 @@ - (void)stopTapped:(UIBarButtonItem *)sender {
279280
- (void)actionButtonTapped:(id)sender {
280281
NSURL *url = self.webView.request.URL ? self.webView.request.URL : self.request.URL;
281282
if (url != nil) {
282-
NSArray *activities = @[[SVWebViewControllerActivitySafari new], [SVWebViewControllerActivityChrome new]];
283+
NSArray *activities = @[[SVWebViewControllerActivitySafari new], [SVWebViewControllerActivityChrome new], [SVWebViewControllerActivityReport new]];
283284

284285
if ([[url absoluteString] hasPrefix:@"file:///"]) {
285286
UIDocumentInteractionController *dc = [UIDocumentInteractionController interactionControllerWithURL:url];
2.38 KB
Loading
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//
2+
// SVWebViewControllerActivityReport.h
3+
// Coding_iOS
4+
//
5+
// Created by Ease on 15/2/13.
6+
// Copyright (c) 2015年 Coding. All rights reserved.
7+
//
8+
9+
#import "SVWebViewControllerActivity.h"
10+
11+
@interface SVWebViewControllerActivityReport : SVWebViewControllerActivity
12+
13+
@end

0 commit comments

Comments
 (0)