This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
Doric/doric-iOS/Devkit/Classes/DoricShowNodeTreeViewCell.m

77 lines
11 KiB
Mathematica
Raw Permalink Normal View History

2021-07-14 19:54:34 +08:00
/*
* Copyright [2019] [Doric.Pub]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
//
// DoricShowNodeTreeViewController.m
// Doric
//
// Created by jingpeng.wang on 2021/7/12.
//
#import "DoricShowNodeTreeViewCell.h"
#import <DoricCore/Doric.h>
@implementation DoricShowNodeTreeViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
2021-07-15 14:51:19 +08:00
NSString *base64 = @"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
2021-07-14 19:54:34 +08:00
self.nodeIcon = [[UIImageView new] also:^(UIImageView *it) {
it.width = 20;
it.height = 20;
2021-07-15 14:51:19 +08:00
it.left = 5;
2021-07-14 19:54:34 +08:00
it.contentMode = UIViewContentModeScaleToFill;
[self.contentView addSubview:it];
2021-07-15 14:51:19 +08:00
NSData *imageData = [[NSData alloc] initWithBase64EncodedString:base64
options:NSDataBase64DecodingIgnoreUnknownCharacters];
it.image = [UIImage imageWithData:imageData];
it.userInteractionEnabled = YES;
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onClick:)];
[it addGestureRecognizer:tapGestureRecognizer];
2021-07-14 19:54:34 +08:00
}];
2021-07-15 14:51:19 +08:00
self.nodeNameLabel = [[UILabel new] also:^(UILabel *it) {
2021-07-14 19:54:34 +08:00
it.contentMode = UIViewContentModeScaleToFill;
it.left = 30;
2021-07-15 14:51:19 +08:00
UIFont *font = it.font;
if (font) {
it.font = [it.font fontWithSize:12];
} else {
it.font = [UIFont systemFontOfSize:12];
}
2021-07-14 19:54:34 +08:00
[self.contentView addSubview:it];
}];
}
return self;
}
- (void)layoutSubviews {
[super layoutSubviews];
self.nodeIcon.centerY = self.contentView.height / 2;
self.nodeNameLabel.centerY = self.contentView.height / 2;
}
2021-07-15 14:51:19 +08:00
- (void)onClick:(UITapGestureRecognizer *)recognizer {
}
2021-07-14 19:54:34 +08:00
@end