feat(image): 메인 라이브 탭에 DownsampledKFImage 적용
- 수평 리스트 HStack → LazyHStack으로 교체해 프리로딩/메모리 개선
This commit is contained in:
@@ -27,11 +27,11 @@ struct LiveNowItemView: View {
|
||||
VStack(spacing: 0) {
|
||||
ZStack(alignment: .bottom) {
|
||||
ZStack {
|
||||
KFImage(URL(string: item.creatorProfileImage))
|
||||
.cancelOnDisappear(true)
|
||||
.resizable()
|
||||
.frame(width: 72, height: 72)
|
||||
.clipShape(Circle())
|
||||
DownsampledKFImage(
|
||||
url: URL(string: item.creatorProfileImage),
|
||||
size: CGSize(width: 72, height: 72)
|
||||
)
|
||||
.clipShape(Circle())
|
||||
}
|
||||
.frame(width: 84, height: 84)
|
||||
.overlay {
|
||||
|
||||
@@ -42,7 +42,7 @@ struct SectionLiveNowView: View {
|
||||
|
||||
if items.count > 0 {
|
||||
ScrollView(.horizontal, showsIndicators: false) {
|
||||
HStack(alignment: .top, spacing: 16) {
|
||||
LazyHStack(alignment: .top, spacing: 16) {
|
||||
ForEach(items, id: \.self) { item in
|
||||
LiveNowItemView(item: item)
|
||||
.contentShape(Rectangle())
|
||||
|
||||
@@ -17,13 +17,11 @@ struct LiveReservationItemView: View {
|
||||
var body: some View {
|
||||
HStack(spacing: 16) {
|
||||
ZStack(alignment: .topLeading) {
|
||||
KFImage(URL(string: item.creatorProfileImage))
|
||||
.cancelOnDisappear(true)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 100, height: 100, alignment: .top)
|
||||
.cornerRadius(16)
|
||||
.clipped()
|
||||
DownsampledKFImage(
|
||||
url: URL(string: item.creatorProfileImage),
|
||||
size: CGSize(width: 100, height: 100)
|
||||
)
|
||||
.cornerRadius(16)
|
||||
|
||||
if item.isPrivateRoom {
|
||||
Image("ic_lock")
|
||||
|
||||
@@ -29,13 +29,11 @@ struct MyLiveReservationItemView: View {
|
||||
|
||||
HStack(spacing: 16) {
|
||||
ZStack(alignment: .topLeading) {
|
||||
KFImage(URL(string: item.creatorProfileImage))
|
||||
.cancelOnDisappear(true)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 100, height: 100, alignment: .top)
|
||||
.cornerRadius(16)
|
||||
.clipped()
|
||||
DownsampledKFImage(
|
||||
url: URL(string: item.creatorProfileImage),
|
||||
size: CGSize(width: 100, height: 100)
|
||||
)
|
||||
.cornerRadius(16)
|
||||
|
||||
if item.isPrivateRoom {
|
||||
Image("ic_lock")
|
||||
|
||||
Reference in New Issue
Block a user