修改UI逻辑

This commit is contained in:
2025-11-28 16:55:26 +08:00
parent c897111855
commit cafde48f4a

View File

@@ -161,6 +161,8 @@
make.top.equalTo(self.barViewInternal.mas_bottom).offset(0);
make.height.mas_equalTo(smallH);
}];
// Paste
[self.pasteViewInternal.pasBtn addTarget:self action:@selector(onTapPaste) forControlEvents:UIControlEventTouchUpInside];
// 3. Tag List View
[self addSubview:self.tagListView];
@@ -299,6 +301,24 @@ static NSString * const kKBStreamDemoURL = @"http://192.168.1.144:7529/api/demo/
self.streamHasOutput = YES;
}
///
/// -
/// - +
- (void)kb_updatePasteButtonWithDisplayText:(NSString * _Nullable)text {
if (text.length > 0) {
NSString *displayText = text;
if (displayText.length > 30) {
displayText = [[displayText substringToIndex:30] stringByAppendingString:@"…"];
}
[self.pasteView.pasBtn setImage:nil forState:UIControlStateNormal];
[self.pasteView.pasBtn setTitle:displayText forState:UIControlStateNormal];
} else {
UIImage *img = [UIImage imageNamed:@"kb_zt_icon"];
[self.pasteView.pasBtn setImage:img forState:UIControlStateNormal];
[self.pasteView.pasBtn setTitle:KBLocalized(@" Paste Ta's Words") forState:UIControlStateNormal];
}
}
#pragma mark - KBFunctionTagListViewDelegate
- (void)tagListView:(KBFunctionTagListView *)view didSelectIndex:(NSInteger)index title:(NSString *)title {
@@ -415,15 +435,22 @@ static void KBULDarwinCallback(CFNotificationCenterRef center, void *observer, C
UIPasteboard *pb = [UIPasteboard generalPasteboard];
NSString *text = pb.string; //
if (text.length > 0) {
//
self.pasteView.placeholderLabel.text = text;
//
// self.pasteView.placeholderLabel.numberOfLines = 0;
} else {
if (text.length <= 0) {
//
NSLog(@"粘贴板无可用文本或未授权粘贴");
[KBHUD showInfo:KBLocalized(@"Clipboard is empty")];
return;
}
// 1
UIInputViewController *ivc = KBFindInputViewController(self);
if (ivc) {
id<UITextDocumentProxy> proxy = ivc.textDocumentProxy;
[proxy insertText:text];
}
// 2便便
[self kb_updatePasteButtonWithDisplayText:text];
}
#pragma mark -
@@ -448,9 +475,8 @@ static void KBULDarwinCallback(CFNotificationCenterRef center, void *observer, C
// iOS16+
NSString *text = pb.string;
if (text.length > 0) {
self.pasteView.placeholderLabel.text = text;
}
// -> / -> +
[self kb_updatePasteButtonWithDisplayText:text];
}];
}