Skip to content

Commit b18c18a

Browse files
committed
Terminal - UI
1 parent e050034 commit b18c18a

12 files changed

+91
-15
lines changed

Coding_iOS.xcodeproj/project.pbxproj

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1270,6 +1270,16 @@
12701270
B19D4EFB1F7247BA00C598F3 /* AlipaySDK.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B19D4EF91F7247BA00C598F3 /* AlipaySDK.bundle */; };
12711271
B19D4EFC1F7247BA00C598F3 /* AlipaySDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B19D4EFA1F7247BA00C598F3 /* AlipaySDK.framework */; };
12721272
B19D4EFE1F724CDC00C598F3 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B19D4EFD1F724CDC00C598F3 /* CoreMotion.framework */; };
1273+
B1AB5C9A202953E50075A669 /* terminal_tail@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C90202953E40075A669 /* terminal_tail@2x.png */; };
1274+
B1AB5C9B202953E50075A669 /* terminal_box_unselected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C91202953E40075A669 /* terminal_box_unselected@2x.png */; };
1275+
B1AB5C9C202953E50075A669 /* terminal_box_unselected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C92202953E40075A669 /* terminal_box_unselected@3x.png */; };
1276+
B1AB5C9D202953E50075A669 /* terminal_tail@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C93202953E40075A669 /* terminal_tail@3x.png */; };
1277+
B1AB5C9E202953E50075A669 /* terminal_more@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C94202953E40075A669 /* terminal_more@3x.png */; };
1278+
B1AB5C9F202953E50075A669 /* terminal_more@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C95202953E40075A669 /* terminal_more@2x.png */; };
1279+
B1AB5CA0202953E50075A669 /* terminal_triangle@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C96202953E40075A669 /* terminal_triangle@3x.png */; };
1280+
B1AB5CA1202953E50075A669 /* terminal_box_selected@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C97202953E40075A669 /* terminal_box_selected@3x.png */; };
1281+
B1AB5CA2202953E50075A669 /* terminal_triangle@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C98202953E40075A669 /* terminal_triangle@2x.png */; };
1282+
B1AB5CA3202953E50075A669 /* terminal_box_selected@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1AB5C99202953E40075A669 /* terminal_box_selected@2x.png */; };
12731283
B1BCB87D1FCD006C0098B87B /* icon_file_doc_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8701FCD006A0098B87B /* icon_file_doc_big@2x.png */; };
12741284
B1BCB87E1FCD006C0098B87B /* icon_file_zip_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8711FCD006B0098B87B /* icon_file_zip_big@2x.png */; };
12751285
B1BCB87F1FCD006C0098B87B /* icon_file_pdf_big@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B1BCB8721FCD006B0098B87B /* icon_file_pdf_big@2x.png */; };
@@ -3331,6 +3341,16 @@
33313341
B19D4EF91F7247BA00C598F3 /* AlipaySDK.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = AlipaySDK.bundle; sourceTree = "<group>"; };
33323342
B19D4EFA1F7247BA00C598F3 /* AlipaySDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AlipaySDK.framework; sourceTree = "<group>"; };
33333343
B19D4EFD1F724CDC00C598F3 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
3344+
B1AB5C90202953E40075A669 /* terminal_tail@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_tail@2x.png"; sourceTree = "<group>"; };
3345+
B1AB5C91202953E40075A669 /* terminal_box_unselected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_box_unselected@2x.png"; sourceTree = "<group>"; };
3346+
B1AB5C92202953E40075A669 /* terminal_box_unselected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_box_unselected@3x.png"; sourceTree = "<group>"; };
3347+
B1AB5C93202953E40075A669 /* terminal_tail@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_tail@3x.png"; sourceTree = "<group>"; };
3348+
B1AB5C94202953E40075A669 /* terminal_more@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_more@3x.png"; sourceTree = "<group>"; };
3349+
B1AB5C95202953E40075A669 /* terminal_more@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_more@2x.png"; sourceTree = "<group>"; };
3350+
B1AB5C96202953E40075A669 /* terminal_triangle@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_triangle@3x.png"; sourceTree = "<group>"; };
3351+
B1AB5C97202953E40075A669 /* terminal_box_selected@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_box_selected@3x.png"; sourceTree = "<group>"; };
3352+
B1AB5C98202953E40075A669 /* terminal_triangle@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_triangle@2x.png"; sourceTree = "<group>"; };
3353+
B1AB5C99202953E40075A669 /* terminal_box_selected@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "terminal_box_selected@2x.png"; sourceTree = "<group>"; };
33343354
B1B2BDB01F79E74000645EAD /* net_route.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = net_route.h; sourceTree = "<group>"; };
33353355
B1BCB8701FCD006A0098B87B /* icon_file_doc_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_doc_big@2x.png"; sourceTree = "<group>"; };
33363356
B1BCB8711FCD006B0098B87B /* icon_file_zip_big@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon_file_zip_big@2x.png"; sourceTree = "<group>"; };
@@ -5664,6 +5684,7 @@
56645684
8EA6CF5D19E240C40076D59C /* Images */ = {
56655685
isa = PBXGroup;
56665686
children = (
5687+
B1AB5C8F202953E40075A669 /* terminal_icon */,
56675688
B1890C1D2015D82600F52ABA /* wiki */,
56685689
B1890C262015D82600F52ABA /* wiki_menu_icon */,
56695690
B1280CF2200EFEA400DEDF78 /* PR_Activity */,
@@ -6783,6 +6804,23 @@
67836804
path = AlipaySDK;
67846805
sourceTree = "<group>";
67856806
};
6807+
B1AB5C8F202953E40075A669 /* terminal_icon */ = {
6808+
isa = PBXGroup;
6809+
children = (
6810+
B1AB5C90202953E40075A669 /* terminal_tail@2x.png */,
6811+
B1AB5C91202953E40075A669 /* terminal_box_unselected@2x.png */,
6812+
B1AB5C92202953E40075A669 /* terminal_box_unselected@3x.png */,
6813+
B1AB5C93202953E40075A669 /* terminal_tail@3x.png */,
6814+
B1AB5C94202953E40075A669 /* terminal_more@3x.png */,
6815+
B1AB5C95202953E40075A669 /* terminal_more@2x.png */,
6816+
B1AB5C96202953E40075A669 /* terminal_triangle@3x.png */,
6817+
B1AB5C97202953E40075A669 /* terminal_box_selected@3x.png */,
6818+
B1AB5C98202953E40075A669 /* terminal_triangle@2x.png */,
6819+
B1AB5C99202953E40075A669 /* terminal_box_selected@2x.png */,
6820+
);
6821+
path = terminal_icon;
6822+
sourceTree = "<group>";
6823+
};
67866824
B1BCB8941FCE93830098B87B /* pay */ = {
67876825
isa = PBXGroup;
67886826
children = (
@@ -7056,6 +7094,7 @@
70567094
4E4972E91BB5446900F3AC15 /* tips_menu_icon_status@2x.png in Resources */,
70577095
D0C447AA1C02A3C700DC1C4B /* task_selected@2x.png in Resources */,
70587096
B1C871361EADF155003DACF0 /* project_item_code@3x.png in Resources */,
7097+
B1AB5C9A202953E50075A669 /* terminal_tail@2x.png in Resources */,
70597098
4E9113AA1A1CB19900AC9431 /* icon_file_state_goon@2x.png in Resources */,
70607099
B1280D04200EFEA400DEDF78 /* PR_add_reviewer@2x.png in Resources */,
70617100
13FB5D3B1CA17A6400EE127C /* PR_push@3x.png in Resources */,
@@ -7086,6 +7125,7 @@
70867125
4E4972E81BB5446900F3AC15 /* tips_menu_icon_mkread@2x.png in Resources */,
70877126
8E97CEA61A0C7E26006F9AD7 /* coding_emoji_15@2x.png in Resources */,
70887127
4E80E92F1DFFF06E00DE1BC6 /* shortcut_task@2x.png in Resources */,
7128+
B1AB5CA2202953E50075A669 /* terminal_triangle@2x.png in Resources */,
70897129
B1C871711EB1832B003DACF0 /* topic_comment_icon@3x.png in Resources */,
70907130
8EA6D17819E240C40076D59C /* placeholder_monkey_round_40@2x.png in Resources */,
70917131
1319D10B1CA81FE100729F82 /* PR_merge@2x.png in Resources */,
@@ -7102,6 +7142,7 @@
71027142
8EA6D19619E240C40076D59C /* tipIcon_MergeRequestComment@2x.png in Resources */,
71037143
B181606720231F120022B4C6 /* intro_page1_ipX@2x.png in Resources */,
71047144
4E6383BC1B32640900D98648 /* private_message_send_fail@2x.png in Resources */,
7145+
B1AB5C9B202953E50075A669 /* terminal_box_unselected@2x.png in Resources */,
71057146
8E97CE631A0A3424006F9AD7 /* keyboard_at@2x.png in Resources */,
71067147
8E97CEA41A0C7E26006F9AD7 /* coding_emoji_13@2x.png in Resources */,
71077148
4E9423F41E69401B0095F1CD /* blankpage_image_Wiki@2x.png in Resources */,
@@ -7191,6 +7232,7 @@
71917232
4E2BF3D21B96CDF800A5A0A8 /* share_btn_qq@2x.png in Resources */,
71927233
13FB5D4C1CA17A6400EE127C /* PR_review@2x.png in Resources */,
71937234
D0C447C11C02DB5400DC1C4B /* pop_Message@2x.png in Resources */,
7235+
B1AB5CA3202953E50075A669 /* terminal_box_selected@2x.png in Resources */,
71947236
D09E6AC41BF84AE5009D37F8 /* git_icon_watch@2x.png in Resources */,
71957237
B1BCB87F1FCD006C0098B87B /* icon_file_pdf_big@2x.png in Resources */,
71967238
4E07D3151A4D3CA6009EDDF2 /* icon_user_monkey@2x.png in Resources */,
@@ -7345,10 +7387,13 @@
73457387
D0C447CD1C02DB6700DC1C4B /* pop_Message@3x.png in Resources */,
73467388
4E63840B1B33F9B400D98648 /* comment_bg@2x.png in Resources */,
73477389
4EB52F2E1C77138A00B5EBEA /* button_scan@2x.png in Resources */,
7390+
B1AB5CA0202953E50075A669 /* terminal_triangle@3x.png in Resources */,
73487391
4E59D32B1D3E106D008C914B /* tweetsBtn_Nav@2x.png in Resources */,
73497392
8E97CEA31A0C7E26006F9AD7 /* coding_emoji_12@2x.png in Resources */,
7393+
B1AB5C9C202953E50075A669 /* terminal_box_unselected@3x.png in Resources */,
73507394
4EF17EE81B3C3112003CDD2D /* intro_icon_6@2x.png in Resources */,
73517395
4EF17ED11B3C3112003CDD2D /* intro_icon_1@2x.png in Resources */,
7396+
B1AB5C9D202953E50075A669 /* terminal_tail@3x.png in Resources */,
73527397
D0C447E21C02DB8900DC1C4B /* task_normal@3x.png in Resources */,
73537398
B14689BA1EE100B200B01371 /* vip_3_75@2x.png in Resources */,
73547399
4E0BD8841B6C7F0A0061CAA6 /* mock_hotTopiclist.geojson in Resources */,
@@ -7388,6 +7433,7 @@
73887433
D0C448081C02DCAC00DC1C4B /* addBtn_Nav@3x.png in Resources */,
73897434
B14689BB1EE100B200B01371 /* vip_3_75@3x.png in Resources */,
73907435
D0C4480C1C02DCAC00DC1C4B /* info_Nav@3x.png in Resources */,
7436+
B1AB5C9F202953E50075A669 /* terminal_more@2x.png in Resources */,
73917437
D0C447E31C02DB8900DC1C4B /* task_selected@3x.png in Resources */,
73927438
4E9423E71E69401B0095F1CD /* blankpage_image_Project@3x.png in Resources */,
73937439
8E97CE641A0A3424006F9AD7 /* keyboard_emotion@2x.png in Resources */,
@@ -7590,6 +7636,7 @@
75907636
4E6383BA1B32640900D98648 /* messageRight_bg_img@2x.png in Resources */,
75917637
B1C871901EB1E608003DACF0 /* nav_page_selected@3x.png in Resources */,
75927638
4E9113AC1A1CB19900AC9431 /* icon_file_state_pause@2x.png in Resources */,
7639+
B1AB5C9E202953E50075A669 /* terminal_more@3x.png in Resources */,
75937640
B1C8718D1EB1E608003DACF0 /* btn_setFrequent@3x.png in Resources */,
75947641
D0C447E41C02DB8900DC1C4B /* tweet_normal@3x.png in Resources */,
75957642
8B3516551B6CF69E0049BC45 /* icon_search_clock@2x.png in Resources */,
@@ -7748,6 +7795,7 @@
77487795
4E2DB33D1BA6A1FC002F27C4 /* coding_emoji_gif_08@2x.png in Resources */,
77497796
D09E6ABA1BF829A1009D37F8 /* icon_project_private@2x.png in Resources */,
77507797
D0C447FA1C02DCA200DC1C4B /* search_Nav@2x.png in Resources */,
7798+
B1AB5CA1202953E50075A669 /* terminal_box_selected@3x.png in Resources */,
77517799
4EED9DD11B53BBCF000E5827 /* twoFABtn_Nav@2x.png in Resources */,
77527800
D0C447E11C02DB8900DC1C4B /* project_selected@3x.png in Resources */,
77537801
B1C871A41EB2D9E6003DACF0 /* task_activity_icon_MergeRequestBean@3x.png in Resources */,

Coding_iOS/Controllers/EATerminalViewController.m

Lines changed: 43 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,6 @@ - (void)viewWillAppear:(BOOL)animated{
4242
[super viewWillAppear:animated];
4343
[self.navigationController setToolbarHidden:YES animated:animated];
4444
}
45-
//- (void)viewDidAppear:(BOOL)animated{
46-
// [super viewDidAppear:animated];
47-
// self.myToolWindow.hidden = NO;
48-
//}
49-
//
50-
//- (void)viewWillDisappear:(BOOL)animated{
51-
// [super viewWillDisappear:animated];
52-
// self.myToolWindow.hidden = YES;
53-
//}
5445

5546
- (void)dealloc{
5647
[[NSNotificationCenter defaultCenter] removeObserver:self];
@@ -66,7 +57,6 @@ - (UIWindow *)myToolWindow{
6657
_myToolWindow = ({
6758
UIWindow *toolWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, kScreen_Height, kScreen_Width, 44)];
6859
toolWindow.backgroundColor = [UIColor clearColor];
69-
// toolWindow.userInteractionEnabled = NO;
7060
toolWindow.windowLevel = UIWindowLevelStatusBar;
7161
toolWindow.hidden = NO;
7262
toolWindow;
@@ -161,11 +151,16 @@ - (void)keyboardChange:(NSNotification*)aNotification{
161151

162152
#define kEATerminalButton_SelectMark @""
163153

154+
@interface EATerminalButton ()
155+
@property (assign, nonatomic) BOOL isSmall;
156+
@end
157+
164158
@implementation EATerminalButton
165159

166160

167161
+ (instancetype)terminalButtonWithName:(NSString *)name{
168162
EATerminalButton *button = [EATerminalButton new];
163+
button.isSmall = NO;
169164
button.titleLabel.font = [UIFont systemFontOfSize:15];
170165
[button setTitleColor:kColorDark2 forState:UIControlStateNormal];
171166

@@ -176,6 +171,7 @@ + (instancetype)terminalButtonWithName:(NSString *)name{
176171

177172
+ (instancetype)smallTerminalButtonWithName:(NSString *)name choosed:(BOOL)isChoosed{
178173
EATerminalButton *button = [EATerminalButton new];
174+
button.isSmall = YES;
179175
button.titleLabel.font = [UIFont systemFontOfSize:12];
180176
[button setTitleColor:kColorDark2 forState:UIControlStateNormal];
181177

@@ -185,17 +181,39 @@ + (instancetype)smallTerminalButtonWithName:(NSString *)name choosed:(BOOL)isCho
185181
return button;
186182
}
187183

184+
+ (NSDictionary *)p_buttonImageDict{
185+
return @{@"->": @"terminal_tail",
186+
@"...": @"terminal_more",
187+
@"U": @"",
188+
@"D": @"",
189+
@"L": @"",
190+
@"R": @"",
191+
};
192+
}
188193

189194
- (void)setName:(NSString *)name{
190195
_name = name;
191-
[self setTitle:_name forState:UIControlStateNormal];
196+
NSString *imageName = [self.class p_buttonImageDict][name];
197+
UIImage *buttonImage = [UIImage imageNamed:imageName];
198+
if (buttonImage) {
199+
[self setImage:buttonImage forState:UIControlStateNormal];
200+
[self setTitle:nil forState:UIControlStateNormal];
201+
}else if (imageName){
202+
self.titleLabel.font = [UIFont systemFontOfSize:_isSmall? 12: 18];
203+
[self setImage:nil forState:UIControlStateNormal];
204+
[self setTitle:imageName forState:UIControlStateNormal];
205+
}else{
206+
self.titleLabel.font = [UIFont systemFontOfSize:_isSmall? 12: 15];
207+
[self setImage:nil forState:UIControlStateNormal];
208+
[self setTitle:_name forState:UIControlStateNormal];
209+
}
192210
}
193211

194212
- (void)setIsChoosed:(BOOL)isChoosed{
195213
_isChoosed = isChoosed;
196214
if ([_name isEqualToString:kEATerminalButton_SelectMark]) {
197215
self.backgroundColor = [UIColor clearColor];
198-
[self setImage:[UIImage imageNamed:_isChoosed? @"checkbox_checked": @"checkbox_unchecked"] forState:UIControlStateNormal];
216+
[self setImage:[UIImage imageNamed:_isChoosed? @"terminal_box_selected": @"terminal_box_unselected"] forState:UIControlStateNormal];
199217
}else{
200218
self.backgroundColor = _isChoosed? [UIColor colorWithHexString:@"0xA7B0BD"]: kColorWhite;
201219
}
@@ -238,6 +256,14 @@ - (instancetype)init
238256
}
239257
}
240258
self.frame = CGRectMake(0, 0, paddingW * 2 - lineW + (lineW + buttonW)* [buttonA.firstObject count], paddingW * 2 - lineW + (lineW + buttonH)* buttonA.count);
259+
260+
UIImageView *arrowV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"terminal_triangle"]];
261+
[self addSubview:arrowV];
262+
[arrowV mas_makeConstraints:^(MASConstraintMaker *make) {
263+
make.size.mas_equalTo(CGSizeMake(15, 8));
264+
make.top.equalTo(self.mas_bottom);
265+
make.right.offset(-(paddingW + (buttonW - 15)/ 2));
266+
}];
241267
}
242268
return self;
243269
}
@@ -266,9 +292,11 @@ - (void)setChoosedIndex:(NSInteger)choosedIndex{
266292
CGFloat buttonH = 31;
267293
CGFloat lineW = 2;
268294
CGFloat paddingW = 4;
269-
for (EATerminalButton *button in self.subviews) {
270-
NSInteger buttonRow = (NSInteger)((button.y - paddingW) / (buttonH + lineW));
271-
button.isChoosed = (buttonRow == choosedIndex);
295+
for (UIView *subV in self.subviews) {
296+
if ([subV isKindOfClass:[EATerminalButton class]]) {
297+
NSInteger buttonRow = (NSInteger)((subV.y - paddingW) / (buttonH + lineW));
298+
((EATerminalButton *)subV).isChoosed = (buttonRow == choosedIndex);
299+
}
272300
}
273301
if (_choosedIndexBlock) {
274302
_choosedIndexBlock(self.choosedList);
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)