Files
waf-platform/HttpDNSSDK/sdk/ios/NewHttpDNSTestDemo/DemoLogViewController.m

69 lines
2.4 KiB
Objective-C

//
// DemoLogViewController.m
// TrustHttpDNSTestDemo
//
// @author Created by Claude Code on 2025-10-05
//
#import "DemoLogViewController.h"
@interface DemoLogViewController ()
@property (nonatomic, strong) UITextView *textView;
@property (nonatomic, copy) NSString *pendingInitialText;
@end
@implementation DemoLogViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"日志";
self.view.backgroundColor = [UIColor systemBackgroundColor];
self.textView = [[UITextView alloc] initWithFrame:CGRectZero];
self.textView.translatesAutoresizingMaskIntoConstraints = NO;
self.textView.editable = NO;
if (@available(iOS 13.0, *)) {
self.textView.font = [UIFont monospacedSystemFontOfSize:12 weight:UIFontWeightRegular];
} else {
self.textView.font = [UIFont systemFontOfSize:12];
}
[self.view addSubview:self.textView];
[NSLayoutConstraint activateConstraints:@[[self.textView.topAnchor constraintEqualToAnchor:self.view.safeAreaLayoutGuide.topAnchor constant:8], [self.textView.leadingAnchor constraintEqualToAnchor:self.view.leadingAnchor constant:12], [self.textView.trailingAnchor constraintEqualToAnchor:self.view.trailingAnchor constant:-12], [self.textView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor constant:-8]]];
if (self.pendingInitialText.length > 0) {
self.textView.text = self.pendingInitialText;
self.pendingInitialText = nil;
}
UIBarButtonItem *close = [[UIBarButtonItem alloc] initWithTitle:@"关闭" style:UIBarButtonItemStylePlain target:self action:@selector(onClose)];
self.navigationItem.leftBarButtonItem = close;
}
- (void)onClose {
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)setInitialText:(NSString *)text {
if (self.isViewLoaded) {
self.textView.text = text ?: @"";
[self.textView scrollRangeToVisible:NSMakeRange(self.textView.text.length, 0)];
} else {
self.pendingInitialText = [text copy];
}
}
- (void)appendLine:(NSString *)line {
// 当日志较多时,直接追加可避免重排整块文本
if (self.isViewLoaded) {
NSString *append = line ?: @"";
if (append.length > 0) {
self.textView.text = [self.textView.text stringByAppendingString:append];
[self.textView scrollRangeToVisible:NSMakeRange(self.textView.text.length, 0)];
}
}
}
@end