From 489fea083999df6f6d15242cedbf3308fe0e6ba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=8A=B2=E9=B9=8F?= Date: Tue, 20 Jul 2021 15:46:49 +0800 Subject: [PATCH] iOS: impl font & hint font for input --- doric-demo/bundle/DINPro.ttf | Bin 0 -> 87364 bytes doric-demo/bundle/Hanabi.ttf | Bin 0 -> 64288 bytes doric-demo/src/InputDemo.ts | 4 +++ .../Example/Example.xcodeproj/project.pbxproj | 8 ++++++ doric-iOS/Example/Example/AppDelegate.m | 1 + doric-iOS/Example/Example/Info.plist | 2 ++ doric-iOS/Pod/Classes/Shader/DoricInputNode.m | 26 ++++++++++++++++-- 7 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 doric-demo/bundle/DINPro.ttf create mode 100644 doric-demo/bundle/Hanabi.ttf diff --git a/doric-demo/bundle/DINPro.ttf b/doric-demo/bundle/DINPro.ttf new file mode 100644 index 0000000000000000000000000000000000000000..84d57abb5dcf19245ca4a5e5eca774dc87495078 GIT binary patch literal 87364 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 literal 0 HcmV?d00001 diff --git a/doric-demo/bundle/Hanabi.ttf b/doric-demo/bundle/Hanabi.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c68dbbbfcedf1e0e23d078685107ef67e15e9388 GIT binary patch literal 64288 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"; }; 8A68295410FE7498FAFBB726 /* libPods-ExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 8B429D93241B66A200572570 /* iconfont.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = iconfont.ttf; path = "../../../doric-demo/bundle/iconfont.ttf"; sourceTree = ""; }; + 8B5E51F026A6B68900D06220 /* Hanabi.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = Hanabi.ttf; path = "../../../doric-demo/bundle/Hanabi.ttf"; sourceTree = ""; }; + 8B71685E26A5AE9A0087291A /* DINPro.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = DINPro.ttf; path = "../../../doric-demo/bundle/DINPro.ttf"; sourceTree = ""; }; 8BCADA7A23CD5B5F005EEF96 /* NavigationController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NavigationController.h; sourceTree = ""; }; 8BCADA7B23CD5B64005EEF96 /* NavigationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NavigationController.m; sourceTree = ""; }; B93423722F2E06DC238CDD18 /* Pods-ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleUITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.release.xcconfig"; sourceTree = ""; }; @@ -154,6 +158,8 @@ E2334AED22E9D2060098A085 /* Example */ = { isa = PBXGroup; children = ( + 8B71685E26A5AE9A0087291A /* DINPro.ttf */, + 8B5E51F026A6B68900D06220 /* Hanabi.ttf */, 8B429D93241B66A200572570 /* iconfont.ttf */, E2C9315823B0A263007933D9 /* src */, E2334AEE22E9D2060098A085 /* AppDelegate.h */, @@ -302,6 +308,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 8B5E51F126A6B68E00D06220 /* Hanabi.ttf in Resources */, + 8B71685F26A5AF0E0087291A /* DINPro.ttf in Resources */, E2334AFB22E9D2070098A085 /* LaunchScreen.storyboard in Resources */, E2334AF822E9D2070098A085 /* Assets.xcassets in Resources */, E2334AF622E9D2060098A085 /* Main.storyboard in Resources */, diff --git a/doric-iOS/Example/Example/AppDelegate.m b/doric-iOS/Example/Example/AppDelegate.m index 429f2a4e..43165a66 100644 --- a/doric-iOS/Example/Example/AppDelegate.m +++ b/doric-iOS/Example/Example/AppDelegate.m @@ -35,6 +35,7 @@ - (void)localeChanged { - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. + NSArray *fonts = [UIFont familyNames]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(localeChanged) diff --git a/doric-iOS/Example/Example/Info.plist b/doric-iOS/Example/Example/Info.plist index 2188fc7a..b3939149 100644 --- a/doric-iOS/Example/Example/Info.plist +++ b/doric-iOS/Example/Example/Info.plist @@ -29,6 +29,8 @@ Scan QR Code UIAppFonts + DINPro.ttf + Hanabi.ttf iconfont.ttf UILaunchStoryboardName diff --git a/doric-iOS/Pod/Classes/Shader/DoricInputNode.m b/doric-iOS/Pod/Classes/Shader/DoricInputNode.m index f3d03c2a..7afdaba3 100644 --- a/doric-iOS/Pod/Classes/Shader/DoricInputNode.m +++ b/doric-iOS/Pod/Classes/Shader/DoricInputNode.m @@ -102,7 +102,12 @@ - (void)blendView:(DoricInputView *)view forPropName:(NSString *)name propValue: if ([name isEqualToString:@"text"]) { view.text = prop; } else if ([name isEqualToString:@"textSize"]) { - view.font = [UIFont systemFontOfSize:[(NSNumber *) prop floatValue]]; + UIFont *font = view.font; + if (font) { + view.font = [view.font fontWithSize:[(NSNumber *) prop floatValue]]; + } else { + view.font = [UIFont systemFontOfSize:[(NSNumber *) prop floatValue]]; + } } else if ([name isEqualToString:@"textColor"]) { view.textColor = DoricColor(prop); } else if ([name isEqualToString:@"textAlignment"]) { @@ -115,6 +120,11 @@ - (void)blendView:(DoricInputView *)view forPropName:(NSString *)name propValue: } view.textAlignment = alignment; view.placeholderLabel.textAlignment = alignment; + } else if ([name isEqualToString:@"font"]) { + NSString *iconfont = prop; + UIFont *font = [UIFont fontWithName:[iconfont stringByReplacingOccurrencesOfString:@".ttf" withString:@""] + size:view.font.pointSize]; + view.font = font; } else if ([name isEqualToString:@"multiline"]) { BOOL value = [(NSNumber *) prop boolValue]; if (!value) { @@ -131,6 +141,11 @@ - (void)blendView:(DoricInputView *)view forPropName:(NSString *)name propValue: view.placeholderLabel.text = (NSString *) prop; } else if ([name isEqualToString:@"hintTextColor"]) { view.placeholderLabel.textColor = DoricColor(prop); + } else if ([name isEqualToString:@"hintFont"]) { + NSString *iconfont = prop; + UIFont *font = [UIFont fontWithName:[iconfont stringByReplacingOccurrencesOfString:@".ttf" withString:@""] + size:view.font.pointSize]; + view.placeholderLabel.font = font; } else if ([name isEqualToString:@"onTextChange"]) { if ([prop isKindOfClass:[NSString class]]) { self.onTextChange = ^(NSString *text, DoricInputNode *node) { @@ -227,7 +242,14 @@ - (void)afterBlended:(NSDictionary *)props { || self.view.doricLayout.paddingRight != self.view.textContainerInset.right) { self.view.textContainerInset = UIEdgeInsetsMake(self.view.doricLayout.paddingTop, self.view.doricLayout.paddingLeft, self.view.doricLayout.paddingBottom, self.view.doricLayout.paddingRight); } - self.view.placeholderLabel.font = self.view.font; + + UIFont *font = self.view.placeholderLabel.font; + if (font) { + self.view.placeholderLabel.font = [self.view.placeholderLabel.font fontWithSize:self.view.font.pointSize]; + } else { + self.view.placeholderLabel.font = self.view.font; + } + self.view.placeholderLabel.numberOfLines = self.view.textContainer.maximumNumberOfLines; }