feat: 添加 E-Parti 启动画面及情绪颜色引导功能

主要变更:
1. 新增 ep_splash.png 作为应用启动时的展示图像。
2. 更新 Info.plist 中的应用名称和相关描述,替换为 "E-Parti"。
3. 引入 EPSignatureColorGuideView 和 EPEmotionColorStorage,支持用户选择和保存专属情绪颜色。
4. 在 AppDelegate 中集成情绪颜色引导逻辑,确保用户首次登录时能够选择专属颜色。

此更新旨在提升用户体验,增强应用的品牌识别度,并提供个性化的情绪表达功能。
This commit is contained in:
edwinQQQ
2025-10-15 15:56:32 +08:00
parent 3a12a18687
commit 2d0063396c
44 changed files with 1052 additions and 286 deletions

View File

@@ -47,6 +47,19 @@ NSString *const EPMomentPublishSuccessNotification = @"EPMomentPublishSuccessNot
[super viewDidLoad];
self.view.backgroundColor = [UIColor colorWithRed:0x0C/255.0 green:0x05/255.0 blue:0x27/255.0 alpha:1.0];
[self setupUI];
//
[self loadUserSignatureColor];
}
///
- (void)loadUserSignatureColor {
NSString *signatureColor = [EPEmotionColorStorage userSignatureColor];
if (signatureColor) {
self.selectedEmotionColor = signatureColor;
[self updateEmotionButtonAppearance];
NSLog(@"[Publish] 自动选中专属颜色: %@", signatureColor);
}
}
- (void)setupUI {
@@ -131,6 +144,10 @@ NSString *const EPMomentPublishSuccessNotification = @"EPMomentPublishSuccessNot
- (void)onEmotionButtonTapped {
EPEmotionColorPicker *picker = [[EPEmotionColorPicker alloc] init];
//
picker.preselectedColor = self.selectedEmotionColor;
__weak typeof(self) weakSelf = self;
picker.onColorSelected = ^(NSString *hexColor) {
__strong typeof(weakSelf) self = weakSelf;
@@ -316,7 +333,15 @@ NSString *const EPMomentPublishSuccessNotification = @"EPMomentPublishSuccessNot
- (UIView *)navView { if (!_navView) { _navView = [UIView new]; _navView.backgroundColor = [UIColor clearColor]; } return _navView; }
- (UIButton *)backButton { if (!_backButton) { _backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_backButton setImage:[UIImage imageNamed:@"common_nav_back"] forState:UIControlStateNormal]; [_backButton addTarget:self action:@selector(onBack) forControlEvents:UIControlEventTouchUpInside]; } return _backButton; }
- (UILabel *)titleLabel { if (!_titleLabel) { _titleLabel = [UILabel new]; _titleLabel.text = @"图文发布"; _titleLabel.textColor = [DJDKMIMOMColor mainTextColor]; _titleLabel.font = [UIFont systemFontOfSize:17]; } return _titleLabel; }
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [UILabel new];
_titleLabel.text = @"图文发布";
_titleLabel.textColor = [UIColor whiteColor]; //
_titleLabel.font = [UIFont systemFontOfSize:17];
}
return _titleLabel;
}
- (UIButton *)publishButton {
if (!_publishButton) {
_publishButton = [UIButton buttonWithType:UIButtonTypeCustom];
@@ -338,18 +363,39 @@ NSString *const EPMomentPublishSuccessNotification = @"EPMomentPublishSuccessNot
return _publishButton;
}
- (UIView *)contentView { if (!_contentView) { _contentView = [UIView new]; _contentView.backgroundColor = [UIColor clearColor]; } return _contentView; }
- (SZTextView *)textView { if (!_textView) { _textView = [SZTextView new]; _textView.placeholder = @"Enter Content"; _textView.textColor = [DJDKMIMOMColor mainTextColor]; _textView.placeholderTextColor = [DJDKMIMOMColor secondTextColor]; _textView.font = [UIFont systemFontOfSize:15]; _textView.delegate = self; } return _textView; }
- (UILabel *)limitLabel { if (!_limitLabel) { _limitLabel = [UILabel new]; _limitLabel.text = @"0/500"; _limitLabel.textColor = [DJDKMIMOMColor mainTextColor]; _limitLabel.font = [UIFont systemFontOfSize:12]; } return _limitLabel; }
- (SZTextView *)textView {
if (!_textView) {
_textView = [SZTextView new];
_textView.placeholder = @"Enter Content";
_textView.textColor = [UIColor whiteColor]; //
_textView.placeholderTextColor = [[UIColor whiteColor] colorWithAlphaComponent:0.4]; //
_textView.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0.08]; //
_textView.layer.cornerRadius = 12;
_textView.layer.masksToBounds = YES;
_textView.font = [UIFont systemFontOfSize:15];
_textView.delegate = self;
}
return _textView;
}
- (UILabel *)limitLabel {
if (!_limitLabel) {
_limitLabel = [UILabel new];
_limitLabel.text = @"0/500";
_limitLabel.textColor = [[UIColor whiteColor] colorWithAlphaComponent:0.6]; //
_limitLabel.font = [UIFont systemFontOfSize:12];
}
return _limitLabel;
}
- (UIView *)lineView { if (!_lineView) { _lineView = [UIView new]; _lineView.backgroundColor = [DJDKMIMOMColor dividerColor]; } return _lineView; }
- (UIButton *)emotionButton {
if (!_emotionButton) {
_emotionButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_emotionButton setTitle:@"🎨 Add Emotion" forState:UIControlStateNormal];
[_emotionButton setTitleColor:[DJDKMIMOMColor mainTextColor] forState:UIControlStateNormal];
[_emotionButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; //
_emotionButton.titleLabel.font = [UIFont systemFontOfSize:15];
_emotionButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
_emotionButton.contentEdgeInsets = UIEdgeInsetsMake(0, 15, 0, 0);
_emotionButton.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0.06];
_emotionButton.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0.08]; //
_emotionButton.layer.cornerRadius = 8;
_emotionButton.layer.masksToBounds = YES;
[_emotionButton addTarget:self action:@selector(onEmotionButtonTapped) forControlEvents:UIControlEventTouchUpInside];