Skip to content

Commit 18a7edf

Browse files
committed
markdown 编辑 - 快捷按钮优化
编辑文件 - 若有改动的话,返回是添加一个确认提示
1 parent 744f4b7 commit 18a7edf

File tree

2 files changed

+33
-16
lines changed

2 files changed

+33
-16
lines changed

Coding_iOS/Controllers/FileEditViewController.m

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#import "WebContentManager.h"
1212
#import "EaseMarkdownTextView.h"
1313
#import "WebViewController.h"
14+
#import "UIViewController+BackButtonHandler.h"
1415

1516
@interface FileEditViewController ()<UIWebViewDelegate>
1617
@property (strong, nonatomic) UISegmentedControl *segmentedControl;
@@ -104,6 +105,22 @@ - (void)configContent{
104105
}];
105106
}
106107

108+
109+
- (BOOL)navigationShouldPopOnBackButton{
110+
BOOL hasChanged = ![self.content ?: @"" isEqualToString:_editView.text];
111+
if (hasChanged) {
112+
__weak typeof(self) weakSelf = self;
113+
[[UIAlertController ea_alertViewWithTitle:@"提示" message:@"如果不保存,更改将丢失,是否确认返回?" buttonTitles:@[@"确认返回"] destructiveTitle:nil cancelTitle:@"取消" andDidDismissBlock:^(UIAlertAction *action, NSInteger index) {
114+
if (index == 0) {
115+
[weakSelf.navigationController popViewControllerAnimated:YES];
116+
}
117+
}] show];
118+
return NO;
119+
}else{
120+
return YES;
121+
}
122+
}
123+
107124
#pragma mark UISegmentedControl
108125
- (void)segmentedControlSelected:(id)sender{
109126
UISegmentedControl *segmentedControl = (UISegmentedControl *)sender;

Coding_iOS/Views/EaseMarkdownTextView.m

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,6 @@ - (NSArray *)buttons {
5858

5959
[self createButtonWithTitle:@"@" andEventHandler:^{ [self doAT]; }],
6060

61-
[self createButtonWithTitle:@"#" andEventHandler:^{ [self insertText:@"#"]; }],
62-
[self createButtonWithTitle:@"*" andEventHandler:^{ [self insertText:@"*"]; }],
63-
[self createButtonWithTitle:@"`" andEventHandler:^{ [self insertText:@"`"]; }],
64-
[self createButtonWithTitle:@"-" andEventHandler:^{ [self insertText:@"-"]; }],
65-
6661
[self createButtonWithTitle:@"照片" andEventHandler:^{ [self doPhoto]; }],
6762

6863
[self createButtonWithTitle:@"标题" andEventHandler:^{ [self doTitle]; }],
@@ -72,6 +67,17 @@ - (NSArray *)buttons {
7267
[self createButtonWithTitle:@"引用" andEventHandler:^{ [self doQuote]; }],
7368
[self createButtonWithTitle:@"列表" andEventHandler:^{ [self doList]; }],
7469

70+
[self createButtonWithTitle:@"分割线" andEventHandler:^{
71+
NSRange selectionRange = self.selectedRange;
72+
NSString *insertStr = [self needPreNewLine]? @"\n\n------\n": @"\n------\n";
73+
74+
selectionRange.location += insertStr.length;
75+
selectionRange.length = 0;
76+
77+
[self insertText:insertStr];
78+
[self setSelectionRange:selectionRange];
79+
}],
80+
7581
[self createButtonWithTitle:@"链接" andEventHandler:^{
7682
NSString *tipStr = @"在此输入链接地址";
7783
NSRange selectionRange = self.selectedRange;
@@ -92,17 +98,11 @@ - (NSArray *)buttons {
9298
[self setSelectionRange:selectionRange];
9399
}],
94100

95-
[self createButtonWithTitle:@"分割线" andEventHandler:^{
96-
NSRange selectionRange = self.selectedRange;
97-
NSString *insertStr = [self needPreNewLine]? @"\n\n------\n": @"\n------\n";
98-
99-
selectionRange.location += insertStr.length;
100-
selectionRange.length = 0;
101-
102-
[self insertText:insertStr];
103-
[self setSelectionRange:selectionRange];
104-
}],
105-
101+
[self createButtonWithTitle:@"#" andEventHandler:^{ [self insertText:@"#"]; }],
102+
[self createButtonWithTitle:@"*" andEventHandler:^{ [self insertText:@"*"]; }],
103+
[self createButtonWithTitle:@"`" andEventHandler:^{ [self insertText:@"`"]; }],
104+
[self createButtonWithTitle:@"-" andEventHandler:^{ [self insertText:@"-"]; }],
105+
106106
[self createButtonWithTitle:@"_" andEventHandler:^{ [self insertText:@"_"]; }],
107107
[self createButtonWithTitle:@"+" andEventHandler:^{ [self insertText:@"+"]; }],
108108
[self createButtonWithTitle:@"~" andEventHandler:^{ [self insertText:@"~"]; }],

0 commit comments

Comments
 (0)