提交 0a94ffbd 编写于 作者: Y yixiangboy

卡顿堆栈支持导出

上级 28d50b2b
......@@ -17,5 +17,7 @@
- (void)setLeftNavBarItems:(NSArray *)items;
- (void)leftNavBackClick:(id)clickView;
- (void)setRightNavTitle:(NSString *)title;
- (void)rightNavTitleClick:(id)clickView;
@end
......@@ -122,6 +122,15 @@
}
}
- (void)setRightNavTitle:(NSString *)title{
DoraemonNavBarItemModel *item = [[DoraemonNavBarItemModel alloc] initWithText:title color:[UIColor doraemon_blue] selector:@selector(rightNavTitleClick:)];
NSArray *barItems = [self navigationItems:@[item]];
if (barItems) {
self.navigationItem.rightBarButtonItems = barItems;
}
}
- (NSArray *)navigationItems:(NSArray *)items{
NSMutableArray *barItems = [NSMutableArray array];
//距离左右的间距
......@@ -174,6 +183,10 @@
[self leftNavBackClick:nil];
}
- (void)rightNavTitleClick:(id)clickView{
}
//点击屏幕空白处收起键盘
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
......
......@@ -9,6 +9,6 @@
@interface DoraemonANRDetailViewController : DoraemonBaseViewController
@property (nonatomic, strong) NSDictionary *anrInfo;
@property (nonatomic, strong) NSString *filePath;
@end
......@@ -7,11 +7,13 @@
#import "DoraemonANRDetailViewController.h"
#import "DoraemonDefine.h"
#import "DoraemonUtil.h"
@interface DoraemonANRDetailViewController ()
@property (nonatomic, strong) UILabel *anrTimeLabel;
@property (nonatomic, strong) UILabel *contentLabel;
@property (nonatomic, strong) NSDictionary *anrInfo;
@end
......@@ -20,6 +22,9 @@
- (void)viewDidLoad {
[super viewDidLoad];
self.title = DoraemonLocalizedString(@"卡顿详情");
[self setRightNavTitle:@"导出"];
self.anrInfo = [NSDictionary dictionaryWithContentsOfFile:self.filePath];
_contentLabel = [[UILabel alloc] init];
_contentLabel.textColor = [UIColor doraemon_black_2];
......@@ -38,7 +43,15 @@
[_anrTimeLabel sizeToFit];
_anrTimeLabel.frame = CGRectMake(20, _contentLabel.doraemon_bottom+20, _anrTimeLabel.doraemon_width, _anrTimeLabel.doraemon_height);
[self.view addSubview:_anrTimeLabel];
}
- (void)rightNavTitleClick:(id)clickView{
[DoraemonUtil shareFileWithPath:self.filePath formVC:self];
}
@end
......@@ -154,7 +154,7 @@
DoraemonSandboxModel *model = [self.anrArray objectAtIndex:indexPath.row];
if (model.type == DoraemonSandboxFileTypeFile) {
DoraemonANRDetailViewController *vc = [[DoraemonANRDetailViewController alloc] init];
vc.anrInfo = [NSDictionary dictionaryWithContentsOfFile:model.path];
vc.filePath = model.path;
[self.navigationController pushViewController:vc animated:YES];
} else if (model.type == DoraemonSandboxFileTypeDirectory) {
[self loadPath:model.path];
......
......@@ -12,6 +12,7 @@
#import "DoraemonAppInfoUtil.h"
#import "DoraemonDefine.h"
#import "DoraemonSandboxCell.h"
#import "DoraemonUtil.h"
@interface DoraemonSandboxViewController () <UITableViewDelegate, UITableViewDataSource>
......@@ -223,27 +224,7 @@
- (void)shareFileWithPath:(NSString *)filePath {
NSURL *url = [NSURL fileURLWithPath:filePath];
NSArray *objectsToShare = @[url];
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
NSArray *excludedActivities = @[UIActivityTypePostToTwitter, UIActivityTypePostToFacebook,
UIActivityTypePostToWeibo,
UIActivityTypeMessage, UIActivityTypeMail,
UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo];
controller.excludedActivityTypes = excludedActivities;
if([DoraemonAppInfoUtil isIpad]){
if ( [controller respondsToSelector:@selector(popoverPresentationController)] ) {
controller.popoverPresentationController.sourceView = self.view;
}
[self presentViewController:controller animated:YES completion:nil];
}else{
[self presentViewController:controller animated:YES completion:nil];
}
[DoraemonUtil shareFileWithPath:filePath formVC:self];
}
- (void)deleteByDoraemonSandboxModel:(DoraemonSandboxModel *)model {
......
......@@ -47,6 +47,9 @@
+ (void)clearLocalDatas;
//分享文件
+ (void)shareFileWithPath:(NSString *)filePath formVC:(UIViewController *)vc;
+ (void)openPlugin:(UIViewController *)vc __attribute__((deprecated("此方法已弃用,请使用[DoraemonHomeWindow openPlugin:vc];")));
+ (UIViewController *)rootViewControllerForKeyWindow __attribute__((deprecated("此方法已弃用,请使用[UIViewController rootViewControllerForKeyWindow]")));
......
......@@ -9,6 +9,7 @@
#import "DoraemonUtil.h"
#import "UIViewController+Doraemon.h"
#import "DoraemonHomeWindow.h"
#import "DoraemonAppInfoUtil.h"
@implementation DoraemonUtil
......@@ -243,4 +244,29 @@
return [UIViewController topViewControllerForKeyWindow];
}
//分享文件
+ (void)shareFileWithPath:(NSString *)filePath formVC:(UIViewController *)vc{
NSURL *url = [NSURL fileURLWithPath:filePath];
NSArray *objectsToShare = @[url];
UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:objectsToShare applicationActivities:nil];
NSArray *excludedActivities = @[UIActivityTypePostToTwitter, UIActivityTypePostToFacebook,
UIActivityTypePostToWeibo,
UIActivityTypeMessage, UIActivityTypeMail,
UIActivityTypePrint, UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll,
UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr,
UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo];
controller.excludedActivityTypes = excludedActivities;
if([DoraemonAppInfoUtil isIpad]){
if ( [controller respondsToSelector:@selector(popoverPresentationController)] ) {
controller.popoverPresentationController.sourceView = vc.view;
}
[vc presentViewController:controller animated:YES completion:nil];
}else{
[vc presentViewController:controller animated:YES completion:nil];
}
}
@end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册