1.0.18 feat:基本完成 1.0.18 功能
@@ -2005,7 +2005,6 @@
|
||||
233423D52AB0397500B1253F /* PIMessageContentServiceReplyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIMessageContentServiceReplyView.m; sourceTree = "<group>"; };
|
||||
233423D72AB0438400B1253F /* PIMessageContentServiceReplyModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PIMessageContentServiceReplyModel.h; sourceTree = "<group>"; };
|
||||
233423D82AB0438400B1253F /* PIMessageContentServiceReplyModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PIMessageContentServiceReplyModel.m; sourceTree = "<group>"; };
|
||||
23352A0D2A669D57001DB9B5 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = "<group>"; };
|
||||
234489072AC3C5DA0070E5D5 /* SudMGP.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SudMGP.framework; sourceTree = "<group>"; };
|
||||
234D821C2AEC57CF0022EFEB /* YYTextAsyncLayer+PITextAsyncLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "YYTextAsyncLayer+PITextAsyncLayer.h"; path = "YuMi/Appdelegate/YYTextAsyncLayer+PITextAsyncLayer.h"; sourceTree = SOURCE_ROOT; };
|
||||
234D821D2AEC57CF0022EFEB /* YYTextAsyncLayer+PITextAsyncLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "YYTextAsyncLayer+PITextAsyncLayer.m"; path = "YuMi/Appdelegate/YYTextAsyncLayer+PITextAsyncLayer.m"; sourceTree = SOURCE_ROOT; };
|
||||
@@ -2030,7 +2029,6 @@
|
||||
2368ECCA2BC38F6F00EDF4C9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
2368ECCE2BC38F9800EDF4C9 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
2368ECD02BC38FA900EDF4C9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
2368ECD12BC38FB900EDF4C9 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
|
||||
2368ECD22BC38FC500EDF4C9 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
|
||||
2368ECD42BC38FDA00EDF4C9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = "Base.lproj/Launch Screen.storyboard"; sourceTree = "<group>"; };
|
||||
2368ECD62BC38FDA00EDF4C9 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = "mul.lproj/Launch Screen.xcstrings"; sourceTree = "<group>"; };
|
||||
@@ -2575,6 +2573,8 @@
|
||||
5412E0FC2C52512100FDD668 /* RoomBottomEntranceModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomBottomEntranceModel.m; sourceTree = "<group>"; };
|
||||
541DD9532C1EDEFB00B616C4 /* XPHomePagingViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPHomePagingViewController.h; sourceTree = "<group>"; };
|
||||
541DD9542C1EDEFB00B616C4 /* XPHomePagingViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPHomePagingViewController.m; sourceTree = "<group>"; };
|
||||
54435F2C2CC89D4600F4884B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
54435F2D2CC89D4600F4884B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
544A36332C94160F00CA7858 /* RoomMenuBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RoomMenuBar.h; sourceTree = "<group>"; };
|
||||
544A36342C94160F00CA7858 /* RoomMenuBar.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RoomMenuBar.m; sourceTree = "<group>"; };
|
||||
544B19AE2CA1299500885BEB /* CPBindingAnimation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPBindingAnimation.h; sourceTree = "<group>"; };
|
||||
@@ -11256,8 +11256,8 @@
|
||||
en,
|
||||
Base,
|
||||
"zh-Hant",
|
||||
"zh-Hans",
|
||||
ar,
|
||||
tr,
|
||||
);
|
||||
mainGroup = 189DD52026DE255300AB55B1;
|
||||
productRefGroup = 189DD52A26DE255300AB55B1 /* Products */;
|
||||
@@ -12907,8 +12907,8 @@
|
||||
children = (
|
||||
2368ECCE2BC38F9800EDF4C9 /* ar */,
|
||||
2368ECD02BC38FA900EDF4C9 /* en */,
|
||||
2368ECD12BC38FB900EDF4C9 /* zh-Hans */,
|
||||
2368ECD22BC38FC500EDF4C9 /* zh-Hant */,
|
||||
54435F2C2CC89D4600F4884B /* tr */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
@@ -12926,9 +12926,9 @@
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
E80E09AA2A40B70100CD2BE7 /* zh-Hant */,
|
||||
23352A0D2A669D57001DB9B5 /* zh-Hans */,
|
||||
2368ECC92BC38F6400EDF4C9 /* ar */,
|
||||
2368ECCA2BC38F6F00EDF4C9 /* en */,
|
||||
54435F2D2CC89D4600F4884B /* tr */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
|
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_message_send_headline_bnt@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_message_send_headline_bnt@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 19 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_message_send_headline_bnt_ar@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_message_send_headline_bnt_ar@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 20 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_message_send_headline_bnt_en@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_message_send_headline_bnt_en@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 20 KiB |
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_public_chat_hall_head_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 102 KiB |
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "头条框@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 24 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_public_chat_hall_head_enter_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_public_chat_hall_head_enter_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 110 KiB |
@@ -9,7 +9,7 @@
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "ms_room_game_button@3x.png",
|
||||
"filename" : "画板 1@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
Before Width: | Height: | Size: 44 KiB |
BIN
YuMi/Assets.xcassets/chat/ms_room_game_button.imageset/画板 1@3x.png
vendored
Normal file
After Width: | Height: | Size: 37 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_aries@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_aries@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 3.6 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_cancer@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_cancer@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.9 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_capricorn@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_capricorn@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.2 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_gemini@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_gemini@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.9 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_libra@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_libra@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.7 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_lion@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_lion@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 3.9 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_pisces@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_pisces@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.1 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_scorpion@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_scorpion@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 4.0 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_shooter@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_shooter@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.7 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_taurus@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_taurus@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.7 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_virgin@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_virgin@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.0 KiB |
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_water_bottle@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "pi_water_bottle@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 4.0 KiB |
@@ -60,13 +60,14 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns
|
||||
|
||||
#define YMLocalizedString(key) \
|
||||
[NSBundle ymLocalizedStringForKey:(key)]
|
||||
|
||||
#define isMSRTL() [[NSBundle getLanguageText] hasPrefix:@"ar"]
|
||||
///是否是中文
|
||||
#define isMSZH() [[NSBundle getLanguageText] hasPrefix:@"zh"]
|
||||
///是否是英文
|
||||
#define isMSEN() [[NSBundle getLanguageText] hasPrefix:@"en"]
|
||||
|
||||
|
||||
///是否土耳其语
|
||||
#define isMSTR() [[NSBundle getLanguageText] hasPrefix:@"tr"]
|
||||
|
||||
|
||||
#endif /* YUMIMacroUitls_h */
|
||||
|
@@ -134,5 +134,12 @@
|
||||
</array>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<true/>
|
||||
<key>CFBundleLocalizations</key>
|
||||
<array>
|
||||
<string>en</string>
|
||||
<string>tr</string>
|
||||
<string>zh</string>
|
||||
<string>ar</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@@ -749,4 +749,77 @@
|
||||
return YES;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
/*
|
||||
- (UIScrollView *)scrollView {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UIView *)scrollContentView {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UIButton *)closeKeyboardButton {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UILabel *)title_1 {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UILabel *)title_2 {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UILabel *)title_3 {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UILabel *)title_4 {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UICollectionViewFlowLayout *)typeCollectionLayout {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UICollectionView *)typeCollectionView {
|
||||
if (!_typeCollectionView) {
|
||||
_typeCollectionView = [[UICollectionView alloc] init];
|
||||
self.typeCollectionView.delegate = self;
|
||||
self.typeCollectionView.dataSource = self;
|
||||
self.typeCollectionView.allowsSelection = YES;
|
||||
[self.typeCollectionView registerClass:[TypeCollectionCell class] forCellWithReuseIdentifier:@"cell"];
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UITextView *)feedbackTextView {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UILabel *)feedbackPlaceholderLabel {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UILabel *)feedbackCharCountLabel {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UILabel *)feedbackCharLimitLabel {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UIButton *)uploadImageButton {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UIImageView *)uploadImageView {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UITextField *)contactTextField {
|
||||
return nil;
|
||||
}
|
||||
*/
|
||||
@end
|
||||
|
@@ -59,7 +59,11 @@
|
||||
|
||||
#pragma mark - Private Method
|
||||
- (void)initSubViews {
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(getTabBarItemBadge:) name:@"kGetTabBarItemBadge" object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(getTabBarItemBadge:)
|
||||
name:@"kGetTabBarItemBadge"
|
||||
object:nil];
|
||||
|
||||
self.view.backgroundColor = [DJDKMIMOMColor colorWithHexString:@"#FCF4DF"];
|
||||
|
||||
self.headView = [UIView new];
|
||||
@@ -118,25 +122,31 @@
|
||||
return self.titles.count;
|
||||
}
|
||||
|
||||
|
||||
- (id<JXPagerViewListViewDelegate>)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index {
|
||||
UIViewController *viewController;
|
||||
if (index == 0) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
return self.sessionListVC;
|
||||
}else if (index == 1){
|
||||
break;
|
||||
case 1:
|
||||
return self.friendVC;
|
||||
}
|
||||
else if (index == 2){
|
||||
break;
|
||||
case 2:
|
||||
return self.attentionVC;
|
||||
}else{
|
||||
break;
|
||||
default:
|
||||
return self.fansVC;
|
||||
break;
|
||||
}
|
||||
|
||||
return (id <JXPagerViewListViewDelegate>)viewController;
|
||||
// return (id <JXPagerViewListViewDelegate>)viewController;
|
||||
}
|
||||
|
||||
- (NSArray<NSString *> *)titles {
|
||||
if (!_titles) {
|
||||
_titles = @[YMLocalizedString(@"XPSessionMainViewController0"), YMLocalizedString(@"XPSessionMainViewController1"),YMLocalizedString(@"XPSessionMainViewController2"),YMLocalizedString(@"XPSessionMainViewController3")];
|
||||
_titles = @[YMLocalizedString(@"XPSessionMainViewController0"),
|
||||
YMLocalizedString(@"XPSessionMainViewController1"),
|
||||
YMLocalizedString(@"XPSessionMainViewController2"),
|
||||
YMLocalizedString(@"XPSessionMainViewController3")];
|
||||
}
|
||||
return _titles;
|
||||
}
|
||||
@@ -166,16 +176,17 @@
|
||||
_titleView.defaultSelectedIndex = 0;
|
||||
_titleView.averageCellSpacingEnabled = NO;
|
||||
_titleView.contentEdgeInsetLeft = 20;
|
||||
_titleView.contentEdgeInsetRight = 120;
|
||||
_titleView.titles = self.titles;
|
||||
_titleView.cellSpacing = 20;
|
||||
_titleView.titles = self.titles;
|
||||
_titleView.customWidth = KScreenWidth - 40;
|
||||
_titleView.listContainer = (id<JXCategoryViewListContainer>)self.pagingView.listContainerView;
|
||||
|
||||
[_titleView addSubview:self.allCleanBtn];
|
||||
[self.allCleanBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(30);
|
||||
make.centerY.mas_equalTo(self.titleView);
|
||||
make.trailing.mas_equalTo(-15);
|
||||
make.centerY.mas_equalTo(_titleView);
|
||||
make.trailing.mas_equalTo(-8);
|
||||
}];
|
||||
}
|
||||
return _titleView;
|
||||
@@ -191,7 +202,6 @@
|
||||
_pagingView.pinSectionHeaderVerticalOffset = 57;
|
||||
_pagingView.isListHorizontalScrollEnabled = NO;
|
||||
_pagingView.mainTableView.gestureDelegate = self;
|
||||
|
||||
}
|
||||
return _pagingView;
|
||||
}
|
||||
|
@@ -36,6 +36,7 @@ typedef NS_ENUM(NSInteger, XPMineItemType) {
|
||||
XPMineItemType_My_Gift = 77,///我的转赠
|
||||
XPMineItemType_My_Game_Order = 78,///我的陪玩點單
|
||||
XPMineItemType_My_Item = 79,///我的已购装扮
|
||||
XPMineItemType_VIP_Switch = 80,///VIP 开关
|
||||
};
|
||||
|
||||
|
||||
|
@@ -26,6 +26,7 @@ typedef NS_ENUM(NSInteger, XPMineSettingItemType){
|
||||
XPMineSettingItemType_Delete_Account,///注销账号
|
||||
XPMineSettingItemType_Shield_management,///屏蔽管理
|
||||
XPMineSettingItemType_Language,///切换语言
|
||||
XPMineSettingItemType_VIP
|
||||
};
|
||||
|
||||
@interface XPMineSettingItemModel : PIBaseModel
|
||||
|
@@ -120,8 +120,13 @@
|
||||
aboutusItem.subTitle = @"";
|
||||
aboutusItem.type = XPMineSettingItemType_About_Us;
|
||||
|
||||
XPMineSettingItemModel * vipItem = [[XPMineSettingItemModel alloc] init];
|
||||
vipItem.title = YMLocalizedString(@"VipSettin_1.0.17_0");
|
||||
vipItem.subTitle = @"";
|
||||
vipItem.type = XPMineSettingItemType_VIP;
|
||||
|
||||
NSArray * oneSection = @[phoneItem];
|
||||
NSArray * twoSection = @[loginItem,payItem, notificaItem,shieldItem, blackListItem,languageItem];
|
||||
NSArray * twoSection = @[loginItem, payItem, vipItem, notificaItem, shieldItem, blackListItem, languageItem];
|
||||
NSArray * threeSection = @[privacyItem];
|
||||
NSArray * fourthSection = @[helperItem, clearMemoryItem, updateItem, aboutusItem];
|
||||
|
||||
|
@@ -285,14 +285,17 @@
|
||||
[self.medalButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.contentView).offset(8);
|
||||
make.leading.mas_equalTo(8);
|
||||
make.size.mas_equalTo(CGSizeMake(60, 30));
|
||||
make.height.mas_equalTo(30);
|
||||
make.width.mas_greaterThanOrEqualTo(60);
|
||||
}];
|
||||
|
||||
[self.contentView addSubview:self.giftButton];
|
||||
[self.giftButton mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.contentView).offset(8);
|
||||
make.leading.mas_equalTo(8 + 60 + 8);
|
||||
make.size.mas_equalTo(CGSizeMake(50, 30));
|
||||
// make.leading.mas_equalTo(8 + 60 + 8);
|
||||
make.leading.mas_equalTo(self.medalButton.mas_trailing).offset(8);
|
||||
make.height.mas_equalTo(30);
|
||||
make.width.mas_greaterThanOrEqualTo(50);
|
||||
}];
|
||||
|
||||
[self.contentView addSubview:self.indicatorImageView];
|
||||
|
@@ -145,7 +145,11 @@ TZImagePickerControllerDelegate>
|
||||
}];
|
||||
}];
|
||||
|
||||
if (self.userInfo.userVipInfoVO.vipLevel >= 1) {
|
||||
#if DEBUG
|
||||
self.userInfo.userVipInfoVO.uploadGifAvatar = YES;
|
||||
#endif
|
||||
|
||||
if (self.userInfo.userVipInfoVO.uploadGifAvatar) {
|
||||
TTActionSheetConfig *gifLibraryConfig = [TTActionSheetConfig normalTitle:YMLocalizedString(@"UserInfoEdit_1.0.17_0") clickAction:^{
|
||||
[YYUtility checkAssetsLibrayAvailable:^{
|
||||
@strongify(self);
|
||||
|
@@ -117,7 +117,7 @@
|
||||
@kWeakify(self);
|
||||
[Api changeEnterHideCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
@kStrongify(self);
|
||||
[[self getView] changeEnterHideSuccess:YES];
|
||||
[[self getView] changeEnterHideSuccess:enterHide];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
[[self getView] changeEnterHideFail];
|
||||
@@ -128,7 +128,7 @@
|
||||
@kWeakify(self);
|
||||
[Api changePreventFollowCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
@kStrongify(self);
|
||||
[[self getView] changePreventFollowSuccess:YES];
|
||||
[[self getView] changePreventFollowSuccess:preventFollow];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
[[self getView] changePreventFollowFail];
|
||||
@@ -139,7 +139,7 @@
|
||||
@kWeakify(self);
|
||||
[Api changePreventTraceCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
@kStrongify(self);
|
||||
[[self getView] changePreventTraceSuccess:YES];
|
||||
[[self getView] changePreventTraceSuccess:preventTrace];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
[[self getView] changePreventTraceFail];
|
||||
@@ -150,7 +150,7 @@
|
||||
@kWeakify(self);
|
||||
[Api changePreventKickCompletion:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
|
||||
@kStrongify(self);
|
||||
[[self getView] changePreventKickSuccess:YES];
|
||||
[[self getView] changePreventKickSuccess:preventKick];
|
||||
} fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
@kStrongify(self);
|
||||
[[self getView] changePreventKickFail];
|
||||
|
@@ -45,6 +45,8 @@
|
||||
#import "XPWebViewController.h"
|
||||
#import "XPLoginVerifBindPhoneViewController.h"
|
||||
#import "XPLoginBindPhoneResultViewController.h"
|
||||
#import "VipSettingViewController.h"
|
||||
|
||||
|
||||
|
||||
@interface XPMineSettingViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineSettingProtocol>
|
||||
@@ -73,10 +75,13 @@
|
||||
[self initSubViewConstraints];
|
||||
[self.presenter getMineSettingDataSourceWith:self.userInfo];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(switchLanguage:) name:@"kSwitchLanguage" object:nil];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(setNavVeiw) name:@"kChanecNavView" object:nil];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(setNavView) name:@"kNavViewUpdateWhenLanguageUpdate" object:nil];
|
||||
}
|
||||
-(void)setNavVeiw{
|
||||
UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"common_nav_back"]ms_SetImageForRTL] style:UIBarButtonItemStyleDone target:self action:@selector(backClick)];
|
||||
-(void)setNavView{
|
||||
UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"common_nav_back"] ms_SetImageForRTL]
|
||||
style:UIBarButtonItemStyleDone
|
||||
target:self
|
||||
action:@selector(backClick)];
|
||||
leftBarButtonItem.tintColor = [DJDKMIMOMColor mainTextColor];
|
||||
self.navigationItem.leftBarButtonItem = leftBarButtonItem;
|
||||
}
|
||||
@@ -251,6 +256,11 @@
|
||||
{
|
||||
XPMineSwitchLanguageVC*languageVC = [XPMineSwitchLanguageVC new];
|
||||
[self.navigationController pushViewController:languageVC animated:YES];
|
||||
}
|
||||
break;
|
||||
case XPMineSettingItemType_VIP: {
|
||||
VipSettingViewController *vc = [[VipSettingViewController alloc] init];
|
||||
[self.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
default:
|
||||
break;
|
||||
|
@@ -34,34 +34,34 @@
|
||||
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kGetScaleWidth(20));
|
||||
make.leading.trailing.equalTo(self.view).inset(kGetScaleWidth(16));
|
||||
make.height.mas_equalTo(kGetScaleWidth(153));
|
||||
|
||||
make.height.mas_equalTo(kGetScaleWidth(51 * 4));
|
||||
}];
|
||||
}
|
||||
-(void)saveBtnAction{
|
||||
NSString *language ;
|
||||
if ([self.chooseModel.title isEqualToString:@"English"]){
|
||||
language = @"en";
|
||||
}else if ([self.chooseModel.title isEqualToString:@"繁體中文"]){
|
||||
} else if ([self.chooseModel.title isEqualToString:@"繁體中文"]){
|
||||
language = @"zh-Hant";
|
||||
}else{
|
||||
} else if ([self.chooseModel.title isEqualToString:@"Türkçe"]) {
|
||||
language = @"tr";
|
||||
} else{
|
||||
language = @"ar";
|
||||
}
|
||||
if ([language isEqualToString:@"ar"]) {
|
||||
[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;
|
||||
[UISearchBar appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;
|
||||
|
||||
} else {
|
||||
[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;
|
||||
[UISearchBar appearance].semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;
|
||||
}
|
||||
|
||||
[NSBundle setLanguageText:language];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"kSwitchLanguage" object:language];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"kNavViewUpdateWhenLanguageUpdate" object:language];
|
||||
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5* NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:@"kChanecNavView" object:language];
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
|
||||
});
|
||||
}
|
||||
#pragma mark - UITableViewDelegate And UITableViewDataSource
|
||||
@@ -69,8 +69,6 @@
|
||||
return kGetScaleWidth(51);
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return self.datasource.count;
|
||||
}
|
||||
@@ -82,24 +80,6 @@
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
|
||||
|
||||
return 0.01f;
|
||||
}
|
||||
|
||||
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
|
||||
return 0.01f;
|
||||
}
|
||||
|
||||
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||||
XPMineSettingItemModel * model = [self.datasource xpSafeObjectAtIndex:indexPath.row] ;
|
||||
@@ -115,24 +95,30 @@
|
||||
#pragma mark - 懒加载
|
||||
- (NSArray<XPMineSettingItemModel *> *)datasource{
|
||||
if(!_datasource){
|
||||
XPMineSettingItemModel *enItme = [XPMineSettingItemModel new];
|
||||
enItme.title = @"English";
|
||||
XPMineSettingItemModel *zhItme = [XPMineSettingItemModel new];
|
||||
zhItme.title = @"繁體中文";
|
||||
XPMineSettingItemModel *arItme = [XPMineSettingItemModel new];
|
||||
arItme.title = @"العربية";
|
||||
XPMineSettingItemModel *enItem = [XPMineSettingItemModel new];
|
||||
enItem.title = @"English";
|
||||
XPMineSettingItemModel *zhItem = [XPMineSettingItemModel new];
|
||||
zhItem.title = @"繁體中文";
|
||||
XPMineSettingItemModel *arItem = [XPMineSettingItemModel new];
|
||||
arItem.title = @"العربية";
|
||||
XPMineSettingItemModel *trItem = [XPMineSettingItemModel new];
|
||||
trItem.title = @"Türkçe";
|
||||
|
||||
NSString *language = [NSBundle getLanguageText];
|
||||
if ([language isEqualToString:@"en"]){
|
||||
enItme.isChoose = YES;
|
||||
self.chooseModel = enItme;
|
||||
enItem.isChoose = YES;
|
||||
self.chooseModel = enItem;
|
||||
}else if ([language isEqualToString:@"ar"]){
|
||||
arItme.isChoose = YES;
|
||||
self.chooseModel = arItme;
|
||||
arItem.isChoose = YES;
|
||||
self.chooseModel = arItem;
|
||||
}else if ([language isEqualToString:@"tr"]){
|
||||
trItem.isChoose = YES;
|
||||
self.chooseModel = trItem;
|
||||
}else{
|
||||
zhItme.isChoose = YES;
|
||||
self.chooseModel = zhItme;
|
||||
zhItem.isChoose = YES;
|
||||
self.chooseModel = zhItem;
|
||||
}
|
||||
_datasource = @[enItme,zhItme,arItme];
|
||||
_datasource = @[enItem, zhItem, arItem, trItem];
|
||||
}
|
||||
return _datasource;
|
||||
}
|
||||
@@ -149,15 +135,15 @@
|
||||
}
|
||||
- (UITableView *)tableView {
|
||||
if (!_tableView) {
|
||||
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
|
||||
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
|
||||
_tableView.delegate = self;
|
||||
_tableView.dataSource = self;
|
||||
_tableView.scrollEnabled = NO;
|
||||
_tableView.showsVerticalScrollIndicator = NO;
|
||||
_tableView.backgroundColor = [UIColor whiteColor];
|
||||
_tableView.layer.cornerRadius = kGetScaleWidth(8);
|
||||
_tableView.layer.masksToBounds = YES;
|
||||
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
||||
_tableView.backgroundColor = [UIColor clearColor];
|
||||
[_tableView registerClass:[XPMineSwitchLanguageCell class] forCellReuseIdentifier:NSStringFromClass([XPMineSwitchLanguageCell class])];
|
||||
}
|
||||
return _tableView;
|
||||
|
@@ -283,7 +283,7 @@ return view;\
|
||||
make.trailing.mas_equalTo(self.userInfoView).offset(-15);
|
||||
make.top.mas_equalTo(self.userInfoView).offset(kGetScaleWidth(57));
|
||||
make.height.mas_equalTo(22);
|
||||
make.width.mas_equalTo(72);
|
||||
make.width.mas_greaterThanOrEqualTo(72);
|
||||
}];
|
||||
|
||||
[self.onlineButton addSubview:self.onlineIconView];
|
||||
|
@@ -247,8 +247,8 @@
|
||||
#pragma mark -
|
||||
///开关隐身进房成功
|
||||
- (void)changeEnterHideSuccess:(BOOL)switchStatus {
|
||||
[self.userInfo.userVipInfoVO setEnterHide:switchStatus];
|
||||
[self switchUpdateEnd];
|
||||
// [self.userInfo.userVipInfoVO setEnterHide:<#(BOOL)#>]
|
||||
}
|
||||
|
||||
///开关隐身进房失败
|
||||
@@ -258,6 +258,7 @@
|
||||
|
||||
///防关注开关修改成功
|
||||
- (void)changePreventFollowSuccess:(BOOL)switchStatus {
|
||||
[self.userInfo.userVipInfoVO setPreventFollow:switchStatus];
|
||||
[self switchUpdateEnd];
|
||||
}
|
||||
|
||||
@@ -268,6 +269,7 @@
|
||||
|
||||
///防跟随开关修改成功
|
||||
- (void)changePreventTraceSuccess:(BOOL)switchStatus {
|
||||
[self.userInfo.userVipInfoVO setPreventTrace:switchStatus];
|
||||
[self switchUpdateEnd];
|
||||
}
|
||||
|
||||
@@ -278,6 +280,7 @@
|
||||
|
||||
///VIP 防被踢开关修改成功
|
||||
- (void)changePreventKickSuccess:(BOOL)switchStatus {
|
||||
[self.userInfo.userVipInfoVO setPreventKick:switchStatus];
|
||||
[self switchUpdateEnd];
|
||||
}
|
||||
|
||||
@@ -358,6 +361,10 @@
|
||||
_tableView = [[UITableView alloc] initWithFrame:CGRectZero
|
||||
style:UITableViewStylePlain];
|
||||
_tableView.scrollEnabled = NO;
|
||||
_tableView.backgroundColor = [UIColor clearColor];
|
||||
if (isMSZH()) {
|
||||
|
||||
}
|
||||
_tableView.delegate = self;
|
||||
_tableView.dataSource = self;
|
||||
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
||||
|
@@ -68,6 +68,7 @@
|
||||
#import "PISwitchingEnvironmentVC.h"
|
||||
#import "XPGameOrdersListViewController.h"
|
||||
#import "VIPCenterViewController.h"
|
||||
#import "VipSettingViewController.h"
|
||||
|
||||
|
||||
UIKIT_EXTERN NSString *kRequestTicket;
|
||||
@@ -310,7 +311,6 @@ UIKIT_EXTERN NSString *kRequestTicket;
|
||||
case XPMineItemType_My_Guild:
|
||||
{
|
||||
[self clickHallAction];
|
||||
|
||||
}
|
||||
break;
|
||||
case XPMineItemType_My_Gift:
|
||||
@@ -324,6 +324,11 @@ UIKIT_EXTERN NSString *kRequestTicket;
|
||||
break;
|
||||
case XPMineItemType_My_Item: {
|
||||
[self toMineItems];
|
||||
}
|
||||
break;
|
||||
case XPMineItemType_VIP_Switch: {
|
||||
VipSettingViewController *vc = [[VipSettingViewController alloc] init];
|
||||
[self.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -446,7 +451,7 @@ UIKIT_EXTERN NSString *kRequestTicket;
|
||||
}
|
||||
if (indexPath.section != 2)return;
|
||||
XPMineFunctionItemModel *item = self.functionArray[indexPath.row];
|
||||
[StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventUserCenter_function_click eventAttributes:@{@"functionName" : item.centerName}];
|
||||
// [StatisticsServiceHelper trackEventWithKey:StatisticsServiceEventUserCenter_function_click eventAttributes:@{@"functionName" : item.centerName}];
|
||||
[self pushViewControllerWithType:item.skipType functionItem:item];
|
||||
}
|
||||
///跳转到公会
|
||||
|
@@ -178,8 +178,6 @@
|
||||
}
|
||||
|
||||
- (void)uploadAlbumPicList:(NSArray *)array finish:(void(^)(NSArray *list))finish {
|
||||
|
||||
|
||||
dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);
|
||||
dispatch_queue_t queue = dispatch_get_global_queue(0, 0);
|
||||
NSMutableArray * dataArray = [NSMutableArray array];
|
||||
@@ -209,7 +207,6 @@
|
||||
finish(dataArray);
|
||||
});
|
||||
}
|
||||
|
||||
} failure:^(NSNumber * _Nonnull resCode, NSString * _Nonnull message) {
|
||||
self.imageCount ++;
|
||||
dispatch_semaphore_signal(semaphore);
|
||||
@@ -218,9 +215,6 @@
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#pragma mark - UITextViewDelegate
|
||||
- (void)textViewDidChange:(UITextView *)textView {
|
||||
if (textView.text.length > 500) {
|
||||
@@ -258,6 +252,7 @@
|
||||
imagePickerVc.allowPickingVideo = NO;
|
||||
imagePickerVc.allowTakeVideo = NO;
|
||||
imagePickerVc.maxImagesCount = 9;
|
||||
imagePickerVc.allowPickingGif = NO;
|
||||
imagePickerVc.naviBgColor = [DJDKMIMOMColor appCellBackgroundColor];
|
||||
imagePickerVc.naviTitleColor = [DJDKMIMOMColor mainTextColor];
|
||||
imagePickerVc.barItemTextColor = [DJDKMIMOMColor mainTextColor];
|
||||
@@ -289,6 +284,10 @@
|
||||
}
|
||||
|
||||
#pragma mark - TZImagePickerControllerDelegate
|
||||
- (BOOL)isAssetCanBeDisplayed:(PHAsset *)asset {
|
||||
return ![[asset valueForKey:@"filename"] containsString:@"GIF"];
|
||||
}
|
||||
|
||||
- (void)imagePickerController:(TZImagePickerController *)picker didFinishPickingPhotos:(NSArray<UIImage *> *)photos sourceAssets:(NSArray *)assets isSelectOriginalPhoto:(BOOL)isSelectOriginalPhoto infos:(NSArray<NSDictionary *> *)infos {
|
||||
[self.datasource removeAllObjects];
|
||||
[self.originAssets removeAllObjects];
|
||||
|
@@ -71,6 +71,9 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, assign) BOOL roomBoom;
|
||||
@property (nonatomic, copy) NSString *roomBoomPic;
|
||||
@property (nonatomic, copy) NSString *roomBoomVapUrl;
|
||||
|
||||
@property (nonatomic, copy) NSString *regionFlag;
|
||||
|
||||
@end
|
||||
|
||||
@interface HomePlayMicUserModel : PIBaseModel
|
||||
|
@@ -18,8 +18,8 @@
|
||||
@property(nonatomic,strong) NetImageView *tagavatarView;
|
||||
|
||||
///房间名
|
||||
@property(nonatomic,strong) UILabel *nameView;
|
||||
@property(nonatomic,strong) UILabel *subView;
|
||||
@property(nonatomic,strong) UILabel *nameLabel;
|
||||
@property(nonatomic,strong) UILabel *subLabel;
|
||||
///热度
|
||||
@property(nonatomic,strong) UILabel *heatView;
|
||||
///热度波浪
|
||||
@@ -32,6 +32,8 @@
|
||||
|
||||
@property (nonatomic,strong) NetImageView *boomImageView;
|
||||
|
||||
@property (nonatomic, strong) NetImageView *flagImage;
|
||||
|
||||
@end
|
||||
@implementation XPNewHomePartyCollectionViewCell
|
||||
-(instancetype)initWithFrame:(CGRect)frame{
|
||||
@@ -55,7 +57,7 @@
|
||||
[self.contentView addSubview:iconView];
|
||||
CGFloat left = kGetScaleWidth(90) + i * kGetScaleWidth(16);
|
||||
[iconView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.subView.mas_bottom).mas_offset(kGetScaleWidth(8));
|
||||
make.top.equalTo(self.subLabel.mas_bottom).mas_offset(kGetScaleWidth(8));
|
||||
make.leading.mas_equalTo(left);
|
||||
make.width.height.mas_equalTo(kGetScaleWidth(20));
|
||||
}];
|
||||
@@ -72,8 +74,9 @@
|
||||
[self.contentView addSubview:self.rankImageView];
|
||||
|
||||
[self.avatarView addSubview:self.pkImageView];
|
||||
[self.contentView addSubview:self.nameView];
|
||||
[self.contentView addSubview:self.subView];
|
||||
[self.contentView addSubview:self.nameLabel];
|
||||
[self.contentView addSubview:self.flagImage];
|
||||
[self.contentView addSubview:self.subLabel];
|
||||
[self.contentView addSubview:self.heatGifView];
|
||||
[self.contentView addSubview:self.heatView];
|
||||
|
||||
@@ -117,17 +120,25 @@
|
||||
make.trailing.equalTo(self.heatView.mas_leading).mas_offset(-kGetScaleWidth(7));
|
||||
make.centerY.equalTo(self.heatView);
|
||||
}];
|
||||
[self.nameView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.mas_equalTo(kGetScaleWidth(90));
|
||||
make.top.mas_equalTo(kGetScaleWidth(10));
|
||||
make.trailing.equalTo(self.tagavatarView.mas_leading).mas_equalTo(5);
|
||||
make.height.mas_equalTo(kGetScaleWidth(22));
|
||||
|
||||
}];
|
||||
[self.subView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.trailing.equalTo(self.nameView);
|
||||
|
||||
[self.flagImage mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.equalTo(self.nameLabel);
|
||||
make.height.mas_equalTo(kGetScaleWidth(14));
|
||||
make.width.mas_equalTo(kGetScaleWidth(18));
|
||||
make.top.equalTo(self.nameLabel.mas_bottom).mas_offset(kGetScaleWidth(5));
|
||||
}];
|
||||
|
||||
[self.subLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.equalTo(self.nameLabel).offset(kGetScaleWidth(18) + 4);
|
||||
make.trailing.equalTo(self.nameLabel);
|
||||
make.height.mas_equalTo(kGetScaleWidth(17));
|
||||
make.top.equalTo(self.nameView.mas_bottom).mas_offset(kGetScaleWidth(5));
|
||||
make.top.equalTo(self.nameLabel.mas_bottom).mas_offset(kGetScaleWidth(5));
|
||||
}];
|
||||
[self.pkImageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(kGetScaleWidth(23));
|
||||
@@ -144,10 +155,11 @@
|
||||
}
|
||||
- (void)setRoomInfo:(HomePlayRoomModel *)roomInfo{
|
||||
_roomInfo = roomInfo;
|
||||
_nameView.text = _roomInfo.title;
|
||||
_nameLabel.text = _roomInfo.title;
|
||||
_avatarView.imageUrl = _roomInfo.avatar;
|
||||
@kWeakify(self);
|
||||
[_tagavatarView loadImageWithUrl:_roomInfo.tagPict completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
|
||||
[_tagavatarView loadImageWithUrl:_roomInfo.tagPict
|
||||
completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) {
|
||||
@kStrongify(self);
|
||||
self.tagavatarView.image = image;
|
||||
CGFloat width = kGetScaleWidth(62);
|
||||
@@ -159,7 +171,15 @@
|
||||
}];
|
||||
}];
|
||||
|
||||
_subView.text = _roomInfo.roomDesc.length > 0 ? _roomInfo.roomDesc : YMLocalizedString(@"XPHomeMineViewController3");
|
||||
[self.flagImage mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.mas_equalTo(roomInfo.regionFlag.length > 0 ? kGetScaleWidth(18) : 0);
|
||||
}];
|
||||
[self.subLabel mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.leading.equalTo(self.nameLabel).offset(roomInfo.regionFlag.length > 0 ? kGetScaleWidth(18)+4 : 0);
|
||||
}];
|
||||
self.flagImage.imageUrl = roomInfo.regionFlag;
|
||||
|
||||
_subLabel.text = _roomInfo.roomDesc.length > 0 ? _roomInfo.roomDesc : YMLocalizedString(@"XPHomeMineViewController3");
|
||||
_heatView.text = @(_roomInfo.onlineNum).stringValue;
|
||||
_rankImageView.image = nil;
|
||||
_pkImageView.hidden = !_roomInfo.crossPking;
|
||||
@@ -222,11 +242,20 @@
|
||||
}
|
||||
return _boomImageView;
|
||||
}
|
||||
- (UILabel *)nameView{
|
||||
if(!_nameView){
|
||||
_nameView = [UILabel labelInitWithText:@"" font:kFontMedium(15) textColor:UIColorFromRGB(0x1E1E1F)];
|
||||
|
||||
- (NetImageView *)flagImage{
|
||||
if(!_flagImage){
|
||||
_flagImage = [NetImageView new];
|
||||
_flagImage.contentMode = UIViewContentModeScaleAspectFit;
|
||||
}
|
||||
return _nameView;
|
||||
return _flagImage;
|
||||
}
|
||||
|
||||
- (UILabel *)nameLabel{
|
||||
if(!_nameLabel){
|
||||
_nameLabel = [UILabel labelInitWithText:@"" font:kFontMedium(15) textColor:UIColorFromRGB(0x1E1E1F)];
|
||||
}
|
||||
return _nameLabel;
|
||||
}
|
||||
-(UILabel *)heatView{
|
||||
if(!_heatView){
|
||||
@@ -259,10 +288,10 @@
|
||||
}
|
||||
return _pkImageView;
|
||||
}
|
||||
- (UILabel *)subView{
|
||||
if(!_subView){
|
||||
_subView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:UIColorFromRGB(0x1E1E1F)];
|
||||
- (UILabel *)subLabel{
|
||||
if(!_subLabel){
|
||||
_subLabel = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:UIColorFromRGB(0x1E1E1F)];
|
||||
}
|
||||
return _subView;
|
||||
return _subLabel;
|
||||
}
|
||||
@end
|
||||
|
@@ -49,7 +49,6 @@
|
||||
if(bannerInfo != nil && self.delegate && [self.delegate respondsToSelector:@selector(selectBannerListWithModel:)]){
|
||||
[self.delegate selectBannerListWithModel:bannerInfo];
|
||||
}
|
||||
|
||||
}
|
||||
- (void)cycleScrollView:(SDCycleScrollView *)cycleScrollView didScrollToIndex:(NSInteger)index{
|
||||
self.pageControl.currentPage = index;
|
||||
@@ -62,6 +61,8 @@
|
||||
[_bannerList enumerateObjectsUsingBlock:^(HomeBannerInfoModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||||
if (obj.bannerPic.length > 0) {
|
||||
[array addObject:obj.bannerPic];
|
||||
} else {
|
||||
[array addObject:@""];
|
||||
}
|
||||
}];
|
||||
if (array.count > 0) {
|
||||
@@ -163,7 +164,7 @@
|
||||
- (SDCycleScrollView *)pi_BannerView {
|
||||
if (!_pi_BannerView) {
|
||||
_pi_BannerView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectZero delegate:self placeholderImage:[UIImageConstant defaultBannerPlaceholder]];
|
||||
_pi_BannerView.backgroundColor = [UIColor redColor];
|
||||
_pi_BannerView.backgroundColor = [UIColor clearColor];
|
||||
_pi_BannerView.layer.cornerRadius = 10;
|
||||
_pi_BannerView.layer.masksToBounds = YES;
|
||||
_pi_BannerView.showPageControl = NO;
|
||||
|
@@ -828,14 +828,23 @@
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: 处理 VIP 状态
|
||||
|
||||
if (self.datasource.count > 0) {
|
||||
XPUserCardItemModel * model = [self.datasource xpSafeObjectAtIndex:indexPath.item];
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", self.cardInfo.roomInfo.roomId];;
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", self.cardInfo.roomInfo.uid];;
|
||||
switch (model.type) {
|
||||
case UserCardMicroType_UpDown:
|
||||
{
|
||||
case UserCardMicroType_UpDown: {
|
||||
// VIP 防 T 权限
|
||||
if (self.targetUserInfo.userVipInfoVO.preventKick) {
|
||||
NSString *message = YMLocalizedString(@"UserCard_1.0.17_0");
|
||||
[TTPopup alertWithMessage:message confirmHandler:^{
|
||||
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
return;
|
||||
}
|
||||
if (model.status) {
|
||||
if ([self isInSudGame:self.cardInfo.uid]) {
|
||||
if (self.cardInfo.uid.integerValue == [AccountInfoStorage instance].getUid.integerValue) {
|
||||
@@ -849,7 +858,6 @@
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
}
|
||||
|
||||
return;
|
||||
}else {
|
||||
[self.presenter kickDownMicro:self.cardInfo.position roomId:roomId];
|
||||
@@ -919,29 +927,33 @@
|
||||
// 1、判断是否为防被踢用户
|
||||
if (self.targetUserInfo.userVipInfoVO.preventKick) {
|
||||
//2、判断是否为管理员操作
|
||||
if (self.cardInfo.roomInfo.uid != [AccountInfoStorage instance].getUid.integerValue) {
|
||||
[self showErrorToast:[NSString stringWithFormat:YMLocalizedString(@"XPUserCardViewController5"), self.targetUserInfo.userVipInfoVO.vipName]];
|
||||
} else {//房主操作
|
||||
NSString *message = [NSString stringWithFormat:YMLocalizedString(@"XPUserCardViewController6"), self.targetUserInfo.userVipInfoVO.vipName];
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
config.title = @"";
|
||||
config.message = message;
|
||||
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||
if ([self isInSudGame:self.cardInfo.uid]) {
|
||||
NSString *message = YMLocalizedString(@"XPUserCardViewController7");
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
config.title = @"";
|
||||
config.message = message;
|
||||
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||
[self.presenter makeKickUser:self.cardInfo.uid roomId:roomId];
|
||||
// if (self.cardInfo.roomInfo.uid != [AccountInfoStorage instance].getUid.integerValue) {
|
||||
// [self showErrorToast:[NSString stringWithFormat:YMLocalizedString(@"XPUserCardViewController5"), self.targetUserInfo.userVipInfoVO.vipName]];
|
||||
// } else {//房主操作
|
||||
NSString *message = YMLocalizedString(@"UserCard_1.0.17_0");//[NSString stringWithFormat:YMLocalizedString(@"UserCard_1.0.17_0"), self.targetUserInfo.userVipInfoVO.vipName];
|
||||
[TTPopup alertWithMessage:message confirmHandler:^{
|
||||
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
} else {
|
||||
[self.presenter makeKickUser:self.cardInfo.uid roomId:roomId];
|
||||
}
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
}
|
||||
// TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
// config.title = @"";
|
||||
// config.message = message;
|
||||
// [TTPopup alertWithConfig:config confirmHandler:^{
|
||||
// if ([self isInSudGame:self.cardInfo.uid]) {
|
||||
// NSString *message = YMLocalizedString(@"XPUserCardViewController7");
|
||||
// TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
// config.title = @"";
|
||||
// config.message = message;
|
||||
// [TTPopup alertWithConfig:config confirmHandler:^{
|
||||
// [self.presenter makeKickUser:self.cardInfo.uid roomId:roomId];
|
||||
// } cancelHandler:^{
|
||||
// }];
|
||||
// } else {
|
||||
// [self.presenter makeKickUser:self.cardInfo.uid roomId:roomId];
|
||||
// }
|
||||
// } cancelHandler:^{
|
||||
// }];
|
||||
// }
|
||||
return;
|
||||
}
|
||||
if ([self isInSudGame:self.cardInfo.uid]) {
|
||||
@@ -977,30 +989,35 @@
|
||||
{
|
||||
// 1、判断是否为防被踢用户
|
||||
if (self.targetUserInfo.userVipInfoVO.preventKick) {
|
||||
//2、判断是否为管理员操作
|
||||
if (self.cardInfo.roomInfo.uid != [AccountInfoStorage instance].getUid.integerValue) {
|
||||
[self showErrorToast:[NSString stringWithFormat:YMLocalizedString(@"XPUserCardViewController11"), self.targetUserInfo.userVipInfoVO.vipName]];
|
||||
} else {//房主操作
|
||||
NSString *message = [NSString stringWithFormat:YMLocalizedString(@"XPUserCardViewController12"), self.targetUserInfo.userVipInfoVO.vipName];
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
config.title = @"";
|
||||
config.message = message;
|
||||
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||
if ([self isInSudGame:self.cardInfo.uid]) {
|
||||
NSString *message = YMLocalizedString(@"XPUserCardViewController13");
|
||||
TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
config.title = @"";
|
||||
config.message = message;
|
||||
[TTPopup alertWithConfig:config confirmHandler:^{
|
||||
[self.presenter makeUserBlack:self.cardInfo.uid roomId:roomId];
|
||||
NSString *message = YMLocalizedString(@"UserCard_1.0.17_0");
|
||||
[TTPopup alertWithMessage:message confirmHandler:^{
|
||||
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
} else {
|
||||
[self.presenter makeUserBlack:self.cardInfo.uid roomId:roomId];
|
||||
}
|
||||
} cancelHandler:^{
|
||||
}];
|
||||
}
|
||||
// //2、判断是否为管理员操作
|
||||
// if (self.cardInfo.roomInfo.uid != [AccountInfoStorage instance].getUid.integerValue) {
|
||||
// [self showErrorToast:[NSString stringWithFormat:YMLocalizedString(@"XPUserCardViewController11"), self.targetUserInfo.userVipInfoVO.vipName]];
|
||||
// } else {//房主操作
|
||||
// NSString *message = [NSString stringWithFormat:YMLocalizedString(@"XPUserCardViewController12"), self.targetUserInfo.userVipInfoVO.vipName];
|
||||
// TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
// config.title = @"";
|
||||
// config.message = message;
|
||||
// [TTPopup alertWithConfig:config confirmHandler:^{
|
||||
// if ([self isInSudGame:self.cardInfo.uid]) {
|
||||
// NSString *message = YMLocalizedString(@"XPUserCardViewController13");
|
||||
// TTAlertConfig *config = [[TTAlertConfig alloc] init];
|
||||
// config.title = @"";
|
||||
// config.message = message;
|
||||
// [TTPopup alertWithConfig:config confirmHandler:^{
|
||||
// [self.presenter makeUserBlack:self.cardInfo.uid roomId:roomId];
|
||||
// } cancelHandler:^{
|
||||
// }];
|
||||
// } else {
|
||||
// [self.presenter makeUserBlack:self.cardInfo.uid roomId:roomId];
|
||||
// }
|
||||
// } cancelHandler:^{
|
||||
// }];
|
||||
// }
|
||||
return;
|
||||
}
|
||||
if ([self isInSudGame:self.cardInfo.uid]) {
|
||||
|
@@ -181,12 +181,11 @@ UIKIT_EXTERN NSString *kTabShowAnchorCardKey;
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showAnchorCardKey:) name:kTabShowAnchorCardKey object:nil];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(switchLanguage:) name:@"kSwitchLanguage" object:nil];
|
||||
|
||||
|
||||
[[RoomBoomManager sharedManager] registerBoomBanner:^(id _Nonnull sth) {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[RoomBoomBannerAnimation display:[UIApplication sharedApplication].keyWindow with:sth tapToRoom:YES complete:^{
|
||||
|
||||
}];
|
||||
[RoomBoomBannerAnimation display:kWindow
|
||||
with:sth tapToRoom:YES
|
||||
complete:^{}];
|
||||
});
|
||||
} target:self];
|
||||
}
|
||||
|
@@ -162,7 +162,15 @@ NSString * const kMSGameLoaded = @"gameLoaded";
|
||||
} else {
|
||||
url = [url stringByAppendingFormat:@"&uid=%@", [AccountInfoStorage instance].getUid];
|
||||
url = [url stringByAppendingFormat:@"&token=%@", self.gameModel.gameModel.code];
|
||||
url = [url stringByAppendingFormat:@"&lang=%@", @"zh-CN"];
|
||||
if (isMSEN()) {
|
||||
url = [url stringByAppendingFormat:@"&lang=%@", @"en-US"];
|
||||
} else if (isMSTR()) {
|
||||
url = [url stringByAppendingFormat:@"&lang=%@", @"tr-TR"];
|
||||
} else if (isMSZH()) {
|
||||
url = [url stringByAppendingFormat:@"&lang=%@", @"zh-TW"];
|
||||
} else if (isMSRTL()) {
|
||||
url = [url stringByAppendingFormat:@"&lang=%@", @"ar-EG"];
|
||||
}
|
||||
url = [url stringByAppendingFormat:@"&roomid=%ld", (long)self.hostDelegate.getRoomInfo.uid];
|
||||
return [NSURL URLWithString:url];
|
||||
}
|
||||
|
@@ -22,7 +22,7 @@
|
||||
if ([self respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
|
||||
self.interactivePopGestureRecognizer.delegate = self;
|
||||
}
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(switchLanguage) name:@"kChanecNavView" object:nil];
|
||||
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(switchLanguage) name:@"kNavViewUpdateWhenLanguageUpdate" object:nil];
|
||||
[self themeConfig];
|
||||
if(isMSRTL()){
|
||||
self.navigationBar.semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;;
|
||||
@@ -34,10 +34,10 @@
|
||||
}
|
||||
-(void)switchLanguage{
|
||||
if(isMSRTL()){
|
||||
self.navigationBar.semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;;
|
||||
self.navigationBar.semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;
|
||||
self.view.semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;
|
||||
}else{
|
||||
self.navigationBar.semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;;
|
||||
self.navigationBar.semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;
|
||||
self.view.semanticContentAttribute = UISemanticContentAttributeForceLeftToRight;
|
||||
}
|
||||
|
||||
@@ -48,11 +48,7 @@
|
||||
viewController.hidesBottomBarWhenPushed = YES;
|
||||
UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"common_nav_back"]ms_SetImageForRTL] style:UIBarButtonItemStyleDone target:self action:@selector(backClick)];
|
||||
leftBarButtonItem.tintColor = [DJDKMIMOMColor mainTextColor];
|
||||
|
||||
|
||||
viewController.navigationItem.leftBarButtonItem = leftBarButtonItem;
|
||||
|
||||
|
||||
}
|
||||
viewController.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
|
||||
|
||||
|
@@ -7,6 +7,11 @@
|
||||
|
||||
#import "NSBundle+Localizable.h"
|
||||
#import <objc/runtime.h>
|
||||
|
||||
// 定义常量用于存储当前语言的 key
|
||||
static NSString * const kSaveCurLanguageKey = @"kSaveCurLanguage";
|
||||
static NSString * const kResourceType = @"lproj";
|
||||
|
||||
@implementation NSBundle (Localizable)
|
||||
|
||||
+(void)load{
|
||||
@@ -19,64 +24,56 @@
|
||||
}
|
||||
+(NSString *)ymLocalizedStringForKey:(NSString *)key
|
||||
{
|
||||
return [self ymLocalizedStringForKey:key value:nil];
|
||||
return [self ymLocalizedStringForKey:key value:@""];
|
||||
}
|
||||
|
||||
+(NSString *)ymLocalizedStringForKey:(NSString *)key value:(NSString *)value
|
||||
{
|
||||
|
||||
|
||||
NSString *language = [NSBundle getLanguageText];
|
||||
NSBundle * bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:language ofType:@"lproj"]];
|
||||
value = [bundle localizedStringForKey:key value:value table:nil];
|
||||
|
||||
NSBundle *bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:language
|
||||
ofType:kResourceType]];
|
||||
value = [bundle localizedStringForKey:key
|
||||
value:value
|
||||
table:nil];
|
||||
return value;
|
||||
}
|
||||
|
||||
+(NSString *)getLanguageText{
|
||||
NSString *saveLanguage = [[NSUserDefaults standardUserDefaults]valueForKey:@"kSaveCurLanguage"];
|
||||
NSString *saveLanguage = [[NSUserDefaults standardUserDefaults] valueForKey:kSaveCurLanguageKey];
|
||||
if (saveLanguage){
|
||||
return saveLanguage;
|
||||
}
|
||||
NSString *language = [NSLocale preferredLanguages].firstObject;
|
||||
if ([language hasPrefix:@"zh"]) {
|
||||
if ([language rangeOfString:@"Hans"].location != NSNotFound) {
|
||||
language = @"zh-Hans"; // 简体中文
|
||||
} else {
|
||||
language = @"zh-Hant"; // 繁體中文
|
||||
}
|
||||
}else if([language hasPrefix:@"ar"]){///阿拉伯语
|
||||
language = @"ar";
|
||||
}else{///英文
|
||||
language = @"en";
|
||||
}
|
||||
|
||||
return language;
|
||||
NSString *preferredLanguage = [NSLocale preferredLanguages].firstObject;
|
||||
return [self mapLanguageForLocalization:preferredLanguage];
|
||||
}
|
||||
|
||||
+(NSString *)uploadLanguageText{
|
||||
NSString *saveLanguage = [[NSUserDefaults standardUserDefaults]valueForKey:@"kSaveCurLanguage"];
|
||||
NSString *saveLanguage = [[NSUserDefaults standardUserDefaults]valueForKey:kSaveCurLanguageKey];
|
||||
if (saveLanguage){
|
||||
if ([saveLanguage hasPrefix:@"zh"]) {
|
||||
return @"zh";
|
||||
}else if([saveLanguage hasPrefix:@"ar"]){///阿拉伯语
|
||||
saveLanguage = @"ar";
|
||||
}else{///英文
|
||||
saveLanguage = @"en";
|
||||
}
|
||||
return saveLanguage;
|
||||
}
|
||||
NSString *language = [NSLocale preferredLanguages].firstObject;
|
||||
if ([language hasPrefix:@"zh"]) {
|
||||
return @"zh";
|
||||
}else if([language hasPrefix:@"ar"]){///阿拉伯语
|
||||
language = @"ar";
|
||||
}else{///英文
|
||||
language = @"en";
|
||||
return [self mapLanguageForLocalization:saveLanguage];
|
||||
}
|
||||
|
||||
return language;
|
||||
NSString *preferredLanguage = [NSLocale preferredLanguages].firstObject;
|
||||
return [self mapLanguageForLocalization:preferredLanguage];
|
||||
}
|
||||
|
||||
+(void)setLanguageText:(NSString *)language{
|
||||
[[NSUserDefaults standardUserDefaults]setValue:language forKey:@"kSaveCurLanguage"];
|
||||
[[NSUserDefaults standardUserDefaults]setValue:language forKey:kSaveCurLanguageKey];
|
||||
[[NSUserDefaults standardUserDefaults]synchronize];
|
||||
}
|
||||
|
||||
// 辅助方法,用于映射本地化语言
|
||||
+ (NSString *)mapLanguageForLocalization:(NSString *)language {
|
||||
if ([language hasPrefix:@"zh"]) {
|
||||
return @"zh-Hant"; // 繁体中文
|
||||
} else if ([language hasPrefix:@"ar"]) {
|
||||
return @"ar"; // 阿拉伯语
|
||||
} else if ([language hasPrefix:@"tr"]) {
|
||||
return @"tr"; // 土耳其语
|
||||
} else {
|
||||
return @"en"; // 默认英文
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -3954,10 +3954,11 @@ ineHeadView12" = "الحمل";
|
||||
"RoomMicState_2" = "لقد أوقفت الموسيقى والميكروفون.";
|
||||
|
||||
"UserInfoEdit_1.0.17_0" = "Gif 头像";
|
||||
"RoomSetting_1.0.17_0" = "房间头像";
|
||||
"VipSettin_1.0.17_0" = "VIP 设置";
|
||||
"VipSettin_1.0.17_1" = "VIP privilege";
|
||||
"VipSettin_1.0.17_2" = "Not being Followed";
|
||||
"VipSettin_1.0.17_3" = "Anti-Entering Room";
|
||||
"VipSettin_1.0.17_4" = "Invisibility";
|
||||
"VipSettin_1.0.17_5" = "Anti-Kick";
|
||||
"RoomSetting_1.0.17_0" = "الصورة الرمزية للغرفة";
|
||||
"VipSettin_1.0.17_0" = "إعداد في اي بي";
|
||||
"VipSettin_1.0.17_1" = "VIP امتياز";
|
||||
"VipSettin_1.0.17_2" = "منع المتابعة";
|
||||
"VipSettin_1.0.17_3" = "عدم الإزعاج";
|
||||
"VipSettin_1.0.17_4" = "تشغيل وضع التصفح المتخفي";
|
||||
"VipSettin_1.0.17_5" = "تجنب الطرد";
|
||||
"UserCard_1.0.17_0" = "设置失败,用户为尊贵的VIP8/ VIP9";
|
||||
|
@@ -3750,10 +3750,11 @@
|
||||
"RoomMicState_2" = "You turned off the music and the mic.";
|
||||
|
||||
"UserInfoEdit_1.0.17_0" = "Gif 头像";
|
||||
"RoomSetting_1.0.17_0" = "房间头像";
|
||||
"VipSettin_1.0.17_0" = "VIP 设置";
|
||||
"RoomSetting_1.0.17_0" = "Room avatar";
|
||||
"VipSettin_1.0.17_0" = "VIP Setting";
|
||||
"VipSettin_1.0.17_1" = "VIP privilege";
|
||||
"VipSettin_1.0.17_2" = "Not being Followed";
|
||||
"VipSettin_1.0.17_3" = "Anti-Entering Room";
|
||||
"VipSettin_1.0.17_4" = "Invisibility";
|
||||
"VipSettin_1.0.17_5" = "Anti-Kick";
|
||||
"VipSettin_1.0.17_2" = "Forbid to follow";
|
||||
"VipSettin_1.0.17_3" = "Do not disturb";
|
||||
"VipSettin_1.0.17_4" = "Turn on incognito mode";
|
||||
"VipSettin_1.0.17_5" = "Avoid being kicked out";
|
||||
"UserCard_1.0.17_0" = "设置失败,用户为尊贵的VIP8/ VIP9";
|
||||
|
7
YuMi/tr.lproj/InfoPlist.strings
Normal file
@@ -0,0 +1,7 @@
|
||||
NSCameraUsageDescription = "\"MoliStar\"'ın ziyaret etmeden önce, fotoğraf çekip yüklemeden önce onayınıza ihtiyacı var, ardından bunlar kişisel ana sayfanızda başkalarının görmesi için görüntülenecektir";
|
||||
NSLocalNetworkUsageDescription = "Uygulama, ağınızdaki cihazları keşfedecek ve bağlanacaktır";
|
||||
NSLocationWhenInUseUsageDescription = "Konum hizmetlerini kullanabilmeniz ve yakındaki arkadaşları önerebilmemiz için onayınız gereklidir";
|
||||
NSMicrophoneUsageDescription = "\"MoliStar\"'ın sesli sohbet gerçekleştirebilmesi için onayınıza ihtiyacı var";
|
||||
NSPhotoLibraryAddUsageDescription = "\"MoliStar\"'ın albüme fotoğraf kaydedebilmesi için onayınıza ihtiyacı var";
|
||||
NSPhotoLibraryUsageDescription = "\"MoliStar\"'ın albüme erişebilmesi, yüklemek için gerekli fotoğrafları seçebilmeniz ve ardından bunları kişisel ana sayfanızda başkalarının görmesi için görüntüleyebilmeniz için onayınıza ihtiyacı var";
|
||||
NSUserTrackingUsageDescription = "Size kişiselleştirilmiş etkinlikler ve hizmetler sunabilmemiz için lütfen IDFA izninizi vermemize izin verin. İzniniz olmadan bilgileriniz başka amaçlar için kullanılmayacaktır";
|
3224
YuMi/tr.lproj/Localizable.strings
Normal file
@@ -1,8 +0,0 @@
|
||||
|
||||
NSCameraUsageDescription = "“MoliStar”需要您的同意,才可以访问进行拍照并上传您的图片,然后展示在您的个人主页上,便于他人查看";
|
||||
NSLocalNetworkUsageDescription = "此App将可发现和连接到您所用网络上的设备";
|
||||
NSLocationWhenInUseUsageDescription = "需要您的同意,才可以进行定位服务,推荐附近好友";
|
||||
NSMicrophoneUsageDescription = "“MoliStar”需要您的同意,才可以进行语音聊天";
|
||||
NSPhotoLibraryAddUsageDescription = "“MoliStar”需要您的同意,才可以存储相片到相册";
|
||||
NSPhotoLibraryUsageDescription = "“MoliStar”需要您的同意,才可以访问相册并选择您需要上传的图片,然后展示在您的个人主页上,便于他人查看";
|
||||
NSUserTrackingUsageDescription = "请允许我们获取您的IDFA权限,可以为您提供个性化活动和服务。未经您的允许,您的信息将不作其他用途";
|
@@ -3406,11 +3406,11 @@
|
||||
"RoomMicState_2" = "你關掉了音樂和麥克風。";
|
||||
|
||||
"UserInfoEdit_1.0.17_0" = "Gif 头像";
|
||||
"RoomSetting_1.0.17_0" = "房间头像";
|
||||
"VipSettin_1.0.17_0" = "VIP 设置";
|
||||
"RoomSetting_1.0.17_0" = "房間頭像";
|
||||
"VipSettin_1.0.17_0" = "VIP設定";
|
||||
"VipSettin_1.0.17_1" = "VIP privilege";
|
||||
"VipSettin_1.0.17_2" = "Not being Followed";
|
||||
"VipSettin_1.0.17_3" = "Anti-Entering Room";
|
||||
"VipSettin_1.0.17_4" = "Invisibility";
|
||||
"VipSettin_1.0.17_5" = "Anti-Kick";
|
||||
|
||||
"VipSettin_1.0.17_2" = "禁止跟隨";
|
||||
"VipSettin_1.0.17_3" = "請勿打擾";
|
||||
"VipSettin_1.0.17_4" = "開啟隱身模式";
|
||||
"VipSettin_1.0.17_5" = "避免被趕出";
|
||||
"UserCard_1.0.17_0" = "设置失败,用户为尊贵的VIP8/ VIP9";
|
||||
|