Files
keyboard/CustomKeyboard/View/KBFunctionPasteView.m
2025-11-17 20:07:39 +08:00

76 lines
2.5 KiB
Objective-C

//
// KBFunctionPasteView.m
// CustomKeyboard
//
// Created by Mac on 2025/10/28.
// 粘贴View
#import "KBFunctionPasteView.h"
#import "Masonry.h"
@interface KBFunctionPasteView ()
@property (nonatomic, strong) UIImageView *iconViewInternal;
@property (nonatomic, strong) UILabel *placeholderLabelInternal;
@end
@implementation KBFunctionPasteView
- (instancetype)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
// 白底圆角容器
self.backgroundColor = [UIColor colorWithWhite:1 alpha:0.95];
self.layer.cornerRadius = 12.0;
self.layer.masksToBounds = YES;
[self addSubview:self.iconViewInternal];
[self addSubview:self.placeholderLabelInternal];
[self.iconViewInternal mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.mas_left).offset(12);
make.centerY.equalTo(self.mas_centerY);
make.width.height.mas_equalTo(20);
}];
[self.placeholderLabelInternal mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.iconViewInternal.mas_right).offset(8);
make.right.equalTo(self.mas_right).offset(-12);
make.centerY.equalTo(self.mas_centerY);
}];
}
return self;
}
#pragma mark - Lazy
- (UIImageView *)iconViewInternal {
if (!_iconViewInternal) {
_iconViewInternal = [[UIImageView alloc] init];
// 用简单的系统表情代替资源图(项目可替换成实际图片)
UILabel *emoji = [[UILabel alloc] init];
emoji.text = @"📋"; // 粘贴/剪贴板含义
emoji.font = [UIFont systemFontOfSize:18];
emoji.textAlignment = NSTextAlignmentCenter;
[_iconViewInternal addSubview:emoji];
[emoji mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(_iconViewInternal);
}];
}
return _iconViewInternal;
}
- (UILabel *)placeholderLabelInternal {
if (!_placeholderLabelInternal) {
_placeholderLabelInternal = [[UILabel alloc] init];
_placeholderLabelInternal.text = KBLocalized(@"Tap to paste their message");
_placeholderLabelInternal.textColor = [UIColor colorWithRed:0.20 green:0.64 blue:0.54 alpha:1.0];
_placeholderLabelInternal.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
}
return _placeholderLabelInternal;
}
#pragma mark - Expose
- (UIImageView *)iconView { return self.iconViewInternal; }
- (UILabel *)placeholderLabel { return self.placeholderLabelInternal; }
@end