Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
pidan
/
FuSiLive
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
10a9645e
authored
Apr 08, 2026
by
suolong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交bug
parent
bf1e61e0
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
58 additions
and
30 deletions
FuSiLive.xcodeproj/project.pbxproj
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/FUSLiveFunctionView.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/GiftInteract/FUSLiveGiftInteractAudiencePanelView.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/PayRoom/CompanionPopup/FUSPayRoomCompanionPopView.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/PayRoom/EntryMain/FUSPayRoomEntryMainView.m
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/PayRoom/FusAnchorPayRoomView.m
FuSiLive.xcodeproj/project.pbxproj
View file @
10a9645e
...
...
@@ -691,7 +691,7 @@
CLANG_CXX_LANGUAGE_STANDARD
=
"gnu++17"
;
CODE_SIGN_ENTITLEMENTS
=
FuSiLive/FuSiLive.entitlements
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
20250626006
1
;
CURRENT_PROJECT_VERSION
=
20250626006
4
;
DEFINES_MODULE
=
YES
;
DEVELOPMENT_TEAM
=
6GG26BHUMC
;
ENABLE_ON_DEMAND_RESOURCES
=
NO
;
...
...
@@ -956,7 +956,7 @@
CLANG_CXX_LANGUAGE_STANDARD
=
"gnu++17"
;
CODE_SIGN_ENTITLEMENTS
=
FuSiLive/FuSiLive.entitlements
;
CODE_SIGN_STYLE
=
Automatic
;
CURRENT_PROJECT_VERSION
=
20250626006
1
;
CURRENT_PROJECT_VERSION
=
20250626006
4
;
DEFINES_MODULE
=
YES
;
DEVELOPMENT_TEAM
=
6GG26BHUMC
;
ENABLE_ON_DEMAND_RESOURCES
=
NO
;
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/FUSLiveFunctionView.m
View file @
10a9645e
...
...
@@ -3912,28 +3912,35 @@ BDAlphaPlayerMetalViewDelegate
CGFloat
padding
=
8
.
0
;
CGFloat
contentLeftInset
=
14
.
0
;
CGFloat
giftIconSize
=
18
.
0
;
CGFloat
countW
=
28
.
0
;
CGFloat
labelX
=
padding
+
giftIconSize
+
4
.
0
+
countW
+
8
.
0
;
CGFloat
maxCountWidth
=
0
.
0
;
CGFloat
textGap
=
3
.
0
;
CGFloat
maxLabelWidth
=
0
.
0
;
UIFont
*
labelFont
=
[
UIFont
fus_themeFont
:
12
];
UIFont
*
countFont
=
[
UIFont
fus_themeFont
:
11
];
for
(
FUSLiveGiftInteractSettingItemModel
*
model
in
self
.
giftInteractAudienceVisibleList
)
{
NSString
*
text
=
model
.
name
?:
@""
;
if
(
text
.
length
==
0
)
{
continue
;
}
CGSize
size
=
[
text
boundingRectWithSize
:
CGSizeMake
(
CGFLOAT_MAX
,
ceil
(
labelFont
.
lineHeight
))
options
:
NSStringDrawingUsesLineFragmentOrigin
|
NSStringDrawingUsesFontLeading
attributes
:
@{
NSFontAttributeName
:
labelFont
}
context
:
nil
].
size
;
maxLabelWidth
=
MAX
(
maxLabelWidth
,
ceil
(
size
.
width
));
NSString
*
countText
=
(
model
.
giftNum
>
0
?
[
NSString
stringWithFormat
:
@"x%ld"
,
(
long
)
model
.
giftNum
]
:
@""
);
CGSize
countSize
=
[
countText
boundingRectWithSize
:
CGSizeMake
(
CGFLOAT_MAX
,
ceil
(
countFont
.
lineHeight
))
options
:
NSStringDrawingUsesLineFragmentOrigin
|
NSStringDrawingUsesFontLeading
attributes
:
@{
NSFontAttributeName
:
countFont
}
context
:
nil
].
size
;
maxCountWidth
=
MAX
(
maxCountWidth
,
ceil
(
countSize
.
width
));
}
CGFloat
labelX
=
padding
+
giftIconSize
+
4
.
0
+
maxCountWidth
+
textGap
;
CGFloat
internalContentWidth
=
padding
+
labelX
+
maxLabelWidth
;
CGFloat
computedWidth
=
contentLeftInset
+
internalContentWidth
;
CGFloat
maxAllowedWidth
=
MAX
(
0
.
0
,
containerWidth
-
rightMargin
);
CGFloat
width
=
MIN
(
MAX
(
minWidth
,
computedWidth
),
maxAllowedWidth
);
NSInteger
count
=
MIN
(
6
,
self
.
giftInteractAudienceVisibleList
.
count
);
CGFloat
maxAllowedWidth
=
MAX
(
0
.
0
,
containerWidth
-
rightMargin
);
CGFloat
targetWidth
=
(
count
>
0
?
computedWidth
:
MAX
(
minWidth
,
computedWidth
));
CGFloat
width
=
MIN
(
targetWidth
,
maxAllowedWidth
);
CGFloat
height
=
0
;
CGFloat
headerH
=
35
;
CGFloat
rowHeight
=
26
;
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/GiftInteract/FUSLiveGiftInteractAudiencePanelView.m
View file @
10a9645e
...
...
@@ -155,7 +155,7 @@ static CGFloat const kFUSGiftInteractAudiencePanelLeftInset = 14.0;
UIImage
*
placeholder
=
[
FUSShowRoomCenterBunble
imageNamed
:
@"icon_gift_placehold"
];
for
(
NSInteger
i
=
0
;
i
<
targetCount
;
i
++
)
{
FUSLiveGiftInteractSettingItemModel
*
model
=
self
.
items
[
i
];
NSString
*
text
=
model
.
name
;
NSString
*
text
=
[
NSString
stringAddFromNilWith
:
model
.
name
]
;
UILabel
*
textLabel
=
self
.
textLabels
[
i
];
textLabel
.
text
=
text
?:
@""
;
...
...
@@ -217,14 +217,34 @@ static CGFloat const kFUSGiftInteractAudiencePanelLeftInset = 14.0;
self
.
emptyLabel
.
frame
=
CGRectZero
;
CGFloat
giftIconSize
=
18
;
CGFloat
countW
=
28
;
CGFloat
giftIconX
=
padding
;
CGFloat
giftCountX
=
giftIconX
+
giftIconSize
+
4
;
CGFloat
labelX
=
giftCountX
+
countW
+
8
;
CGFloat
labelW
=
contentW
-
padding
-
labelX
;
if
(
labelW
<
0
)
{
labelW
=
0
;
CGFloat
textGap
=
3
;
CGFloat
maxLabelWidth
=
0
;
CGFloat
maxCountWidth
=
0
;
UIFont
*
labelFont
=
[
UIFont
fus_themeFont
:
12
];
UIFont
*
countFont
=
[
UIFont
fus_themeFont
:
11
];
for
(
FUSLiveGiftInteractSettingItemModel
*
model
in
self
.
items
)
{
NSString
*
text
=
[
NSString
stringAddFromNilWith
:
model
.
name
];
if
(
text
.
length
==
0
)
{
text
=
@""
;
}
CGSize
size
=
[
text
boundingRectWithSize
:
CGSizeMake
(
CGFLOAT_MAX
,
ceil
(
labelFont
.
lineHeight
))
options
:
NSStringDrawingUsesLineFragmentOrigin
|
NSStringDrawingUsesFontLeading
attributes
:
@{
NSFontAttributeName
:
labelFont
}
context
:
nil
].
size
;
maxLabelWidth
=
MAX
(
maxLabelWidth
,
ceil
(
size
.
width
));
NSString
*
countText
=
(
model
.
giftNum
>
0
?
[
NSString
stringWithFormat
:
@"x%ld"
,
(
long
)
model
.
giftNum
]
:
@""
);
CGSize
countSize
=
[
countText
boundingRectWithSize
:
CGSizeMake
(
CGFLOAT_MAX
,
ceil
(
countFont
.
lineHeight
))
options
:
NSStringDrawingUsesLineFragmentOrigin
|
NSStringDrawingUsesFontLeading
attributes
:
@{
NSFontAttributeName
:
countFont
}
context
:
nil
].
size
;
maxCountWidth
=
MAX
(
maxCountWidth
,
ceil
(
countSize
.
width
));
}
CGFloat
labelX
=
giftCountX
+
maxCountWidth
+
textGap
;
CGFloat
availableLabelW
=
MAX
(
0
,
contentW
-
padding
-
labelX
);
CGFloat
labelW
=
MIN
(
availableLabelW
,
maxLabelWidth
);
CGFloat
availableH
=
CGRectGetHeight
(
self
.
bounds
)
-
contentTop
-
padding
*
2
;
CGFloat
rowHeight
=
(
availableH
>
0
?
(
availableH
/
self
.
items
.
count
)
:
0
);
...
...
@@ -237,7 +257,7 @@ static CGFloat const kFUSGiftInteractAudiencePanelLeftInset = 14.0;
iconView
.
frame
=
CGRectMake
(
contentX
+
giftIconX
,
y
+
(
rowHeight
-
giftIconSize
)
*
0
.
5
,
giftIconSize
,
giftIconSize
);
CBAutoScrollLabel
*
countLabel
=
self
.
giftCountLabels
[
i
];
countLabel
.
frame
=
CGRectMake
(
contentX
+
giftCountX
,
y
,
countW
,
rowHeight
);
countLabel
.
frame
=
CGRectMake
(
contentX
+
giftCountX
,
y
,
maxCountWidth
,
rowHeight
);
UIButton
*
btn
=
self
.
itemButtons
[
i
];
btn
.
frame
=
CGRectMake
(
contentX
,
y
,
contentW
,
rowHeight
);
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/PayRoom/CompanionPopup/FUSPayRoomCompanionPopView.m
View file @
10a9645e
...
...
@@ -126,7 +126,7 @@ static CGFloat const kFUSPayRoomCompanionMinWidth = 120.0;
UIBlurEffect
*
effect
=
[
UIBlurEffect
effectWithStyle
:
UIBlurEffectStyleDark
];
self
.
blurView
=
[[
UIVisualEffectView
alloc
]
initWithEffect
:
effect
];
self
.
blurView
.
frame
=
self
.
contentView
.
bounds
;
self
.
blurView
.
alpha
=
0
.
2
;
self
.
blurView
.
alpha
=
0
.
3
;
[
self
.
contentView
addSubview
:
self
.
blurView
];
self
.
arrowBtn
=
[
UIButton
buttonWithType
:
UIButtonTypeCustom
];
...
...
@@ -196,7 +196,7 @@ static CGFloat const kFUSPayRoomCompanionMinWidth = 120.0;
CGFloat
priceX
=
self
.
diamondIconView
.
right
+
2
;
CGFloat
priceW
=
MAX
(
0
,
self
.
contentView
.
width
-
contentPadding
-
priceX
);
self
.
priceLabel
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectMake
(
priceX
,
y
-
1
,
priceW
,
12
)];
self
.
priceLabel
.
font
=
[
UIFont
boldSystemFontOfSize
:
8
];
self
.
priceLabel
.
font
=
[
UIFont
boldSystemFontOfSize
:
10
];
self
.
priceLabel
.
textColor
=
[
UIColor
fus_diamondBlue
];
self
.
priceLabel
.
text
=
@"0/分钟"
;
[
self
.
contentView
addSubview
:
self
.
priceLabel
];
...
...
@@ -267,9 +267,9 @@ static CGFloat const kFUSPayRoomCompanionMinWidth = 120.0;
}
NSInteger
unitPrice
=
MAX
(
0
,
companionData
.
payUnitPrice
);
NSString
*
priceText
=
[
NSString
stringWithFormat
:
@"%ld /%@"
,
(
long
)
unitPrice
,[
NSString
fus_localString
:
@"分钟"
]];
NSString
*
priceText
=
[
NSString
stringWithFormat
:
@"%ld /
%@"
,
(
long
)
unitPrice
,[
NSString
fus_localString
:
@"分钟"
]];
NSMutableAttributedString
*
priceAttr
=
[[
NSMutableAttributedString
alloc
]
initWithString
:
priceText
attributes
:@{
NSFontAttributeName:
self
.
priceLabel
.
font
?:
[
UIFont
boldSystemFontOfSize
:
8
],
NSFontAttributeName:
self
.
priceLabel
.
font
?:
[
UIFont
boldSystemFontOfSize
:
10
],
NSForegroundColorAttributeName:
[
UIColor
colorWithWhite
:
1
alpha
:
0
.
9
]
}];
NSRange
slashRange
=
[
priceText
rangeOfString
:
@"/"
];
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/PayRoom/EntryMain/FUSPayRoomEntryMainView.m
View file @
10a9645e
...
...
@@ -377,24 +377,25 @@ static NSInteger const kFUSPayRoomEntryMainViewTag = 90917003;
NSTextAttachment
*
attachment
=
[[
NSTextAttachment
alloc
]
init
];
attachment
.
image
=
jewelIcon
;
attachment
.
bounds
=
CGRectMake
(
0
,
-
2
,
12
,
12
);
attachment
.
bounds
=
CGRectMake
(
0
,
-
4
,
16
,
16
);
NSMutableAttributedString
*
textAttr
=
[[
NSMutableAttributedString
alloc
]
initWithString
:
safeText
attributes
:@{
NSString
*
displayText
=
[
safeText
stringByReplacingOccurrencesOfString
:
@"/分钟"
withString
:
@" / 分钟"
];
NSMutableAttributedString
*
textAttr
=
[[
NSMutableAttributedString
alloc
]
initWithString
:
displayText
attributes
:@{
NSFontAttributeName:
self
.
bottomTipLabel
.
font
,
NSForegroundColorAttributeName:
normalTextColor
}];
NSRange
commaRange
=
[
safe
Text
rangeOfString
:
@","
options
:
NSBackwardsSearch
];
NSRange
commaRange
=
[
display
Text
rangeOfString
:
@","
options
:
NSBackwardsSearch
];
if
(
commaRange
.
location
==
NSNotFound
)
{
commaRange
=
[
safe
Text
rangeOfString
:
@","
options
:
NSBackwardsSearch
];
commaRange
=
[
display
Text
rangeOfString
:
@","
options
:
NSBackwardsSearch
];
}
NSRange
digitRange
=
NSMakeRange
(
NSNotFound
,
0
);
if
(
commaRange
.
location
!=
NSNotFound
&&
NSMaxRange
(
commaRange
)
<
safe
Text
.
length
)
{
NSRange
suffixRange
=
NSMakeRange
(
NSMaxRange
(
commaRange
),
safe
Text
.
length
-
NSMaxRange
(
commaRange
));
if
(
commaRange
.
location
!=
NSNotFound
&&
NSMaxRange
(
commaRange
)
<
display
Text
.
length
)
{
NSRange
suffixRange
=
NSMakeRange
(
NSMaxRange
(
commaRange
),
display
Text
.
length
-
NSMaxRange
(
commaRange
));
NSError
*
suffixRegexError
=
nil
;
NSRegularExpression
*
suffixRegex
=
[
NSRegularExpression
regularExpressionWithPattern
:
@"(
\\
d+)"
options
:
0
error
:&
suffixRegexError
];
NSTextCheckingResult
*
suffixMatch
=
(
suffixRegexError
?
nil
:
[
suffixRegex
firstMatchInString
:
safe
Text
options
:
0
range
:
suffixRange
]);
NSTextCheckingResult
*
suffixMatch
=
(
suffixRegexError
?
nil
:
[
suffixRegex
firstMatchInString
:
display
Text
options
:
0
range
:
suffixRange
]);
if
(
suffixMatch
&&
suffixMatch
.
numberOfRanges
>
1
)
{
digitRange
=
[
suffixMatch
rangeAtIndex
:
1
];
}
...
...
@@ -403,14 +404,14 @@ static NSInteger const kFUSPayRoomEntryMainViewTag = 90917003;
if
(
digitRange
.
location
==
NSNotFound
)
{
NSError
*
fallbackRegexError
=
nil
;
NSRegularExpression
*
fallbackRegex
=
[
NSRegularExpression
regularExpressionWithPattern
:
@"(
\\
d+)
\\
s*/"
options
:
0
error
:&
fallbackRegexError
];
NSArray
<
NSTextCheckingResult
*>
*
matches
=
(
fallbackRegexError
?
@[]
:
[
fallbackRegex
matchesInString
:
safeText
options
:
0
range
:
NSMakeRange
(
0
,
safe
Text
.
length
)]);
NSArray
<
NSTextCheckingResult
*>
*
matches
=
(
fallbackRegexError
?
@[]
:
[
fallbackRegex
matchesInString
:
displayText
options
:
0
range
:
NSMakeRange
(
0
,
display
Text
.
length
)]);
NSTextCheckingResult
*
lastMatch
=
matches
.
lastObject
;
if
(
lastMatch
&&
lastMatch
.
numberOfRanges
>
1
)
{
digitRange
=
[
lastMatch
rangeAtIndex
:
1
];
}
}
if
(
digitRange
.
location
!=
NSNotFound
&&
NSMaxRange
(
digitRange
)
<=
safe
Text
.
length
)
{
if
(
digitRange
.
location
!=
NSNotFound
&&
NSMaxRange
(
digitRange
)
<=
display
Text
.
length
)
{
NSAttributedString
*
attachmentAttr
=
[
NSAttributedString
attributedStringWithAttachment
:
attachment
];
NSAttributedString
*
spaceAttr
=
[[
NSAttributedString
alloc
]
initWithString
:
@"\u2009"
attributes
:@{
NSFontAttributeName:
self
.
bottomTipLabel
.
font
,
...
...
Modules/FUSShowRoomModule/FUSShowRoomModule/Features/NewLive/Main/View/FunctionView/PayRoom/FusAnchorPayRoomView.m
View file @
10a9645e
...
...
@@ -129,7 +129,7 @@ static CGFloat const kFUSAnchorPayRoomStatsHorizontalPadding = 9.0;
UIBlurEffect
*
effect
=
[
UIBlurEffect
effectWithStyle
:
UIBlurEffectStyleDark
];
self
.
blurView
=
[[
UIVisualEffectView
alloc
]
initWithEffect
:
effect
];
self
.
blurView
.
frame
=
self
.
contentView
.
bounds
;
self
.
blurView
.
alpha
=
0
.
2
;
self
.
blurView
.
alpha
=
0
.
3
;
[
self
.
contentView
addSubview
:
self
.
blurView
];
self
.
headerView
=
[[
UIView
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
self
.
contentView
.
width
,
33
)];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment