KFImage를 이용하여 불러오는 이미지 다운샘플링
This commit is contained in:
@@ -21,6 +21,13 @@ struct ContentNewAllItemView: View {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
ZStack(alignment: .bottom) {
|
||||
KFImage(URL(string: item.coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: width,
|
||||
height: width
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: width, height: width, alignment: .top)
|
||||
@@ -76,6 +83,13 @@ struct ContentNewAllItemView: View {
|
||||
|
||||
HStack(spacing: 5.3) {
|
||||
KFImage(URL(string: item.creatorProfileImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 21.3,
|
||||
height: 21.3
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 21.3, height: 21.3)
|
||||
|
@@ -49,6 +49,13 @@ struct ContentRankingAllView: View {
|
||||
} label: {
|
||||
HStack(spacing: 0) {
|
||||
KFImage(URL(string: item.coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 66.7,
|
||||
height: 66.7
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 66.7, height: 66.7, alignment: .top)
|
||||
|
@@ -17,6 +17,8 @@ struct ContentListItemView: View {
|
||||
HStack(spacing: 0) {
|
||||
ZStack(alignment: .topLeading) {
|
||||
KFImage(URL(string: item.coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(size: CGSize(width: 66.7, height: 66.7))
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 66.7, height: 66.7, alignment: .top)
|
||||
|
@@ -47,6 +47,13 @@ struct ContentCreateSelectThemeView: View {
|
||||
ForEach(viewModel.themes, id: \.self) { theme in
|
||||
VStack(spacing: 16.7) {
|
||||
KFImage(URL(string: theme.image))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 60,
|
||||
height: 60
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 60, height: 60, alignment: .top)
|
||||
|
@@ -143,6 +143,13 @@ struct ContentCreateView: View {
|
||||
HStack(spacing: 13.3) {
|
||||
if let theme = viewModel.theme {
|
||||
KFImage(URL(string: theme.image))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 33.3,
|
||||
height: 33.3
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.frame(width: 33.3, height: 33.3)
|
||||
.clipShape(Circle())
|
||||
|
@@ -28,6 +28,13 @@ struct AudioContentCommentItemView: View {
|
||||
VStack(alignment: .leading, spacing: 0) {
|
||||
HStack(spacing: 6.7) {
|
||||
KFImage(URL(string: commentItem.profileUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 40,
|
||||
height: 40
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.frame(width: 40, height: 40)
|
||||
.clipShape(Circle())
|
||||
|
@@ -15,6 +15,13 @@ struct ContentDetailAnotherItemView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
KFImage(URL(string: item.coverUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 93.3,
|
||||
height: 93.3
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.frame(width: 93.3, height: 93.3, alignment: .center)
|
||||
.clipped()
|
||||
|
@@ -17,6 +17,13 @@ struct ContentDetailCreatorProfileView: View {
|
||||
var body: some View {
|
||||
HStack(spacing: 0) {
|
||||
KFImage(URL(string: creator.profileImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 26.7,
|
||||
height: 26.7
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.frame(width: 26.7, height: 26.7)
|
||||
.clipShape(Circle())
|
||||
|
@@ -26,6 +26,13 @@ struct ContentDetailPlayView: View {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
ZStack {
|
||||
KFImage(URL(string: audioContent.coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: screenSize().width - 26.7,
|
||||
height: screenSize().width - 26.7
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(
|
||||
|
@@ -32,6 +32,13 @@ struct ContentOrderConfirmDialogView: View {
|
||||
HStack(spacing: 11) {
|
||||
ZStack(alignment: .topLeading) {
|
||||
KFImage(URL(string: audioContent.coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 88.7,
|
||||
height: 88.7
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.frame(width: 88.7, height: 88.7, alignment: .center)
|
||||
.clipped()
|
||||
@@ -54,6 +61,12 @@ struct ContentOrderConfirmDialogView: View {
|
||||
HStack(spacing: 4.3) {
|
||||
KFImage(URL(string: audioContent.creator.profileImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 13.3,
|
||||
height: 13.3
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.frame(width: 13.3, height: 13.3)
|
||||
.clipShape(Circle())
|
||||
|
@@ -21,6 +21,13 @@ struct ContentMainBannerView: View {
|
||||
let item = viewModel.bannerList[index]
|
||||
if let url = item.thumbnailImageUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) {
|
||||
KFImage(URL(string: url))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: screenSize().width - 26.7,
|
||||
height: (screenSize().width - 26.7) * 0.53
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(
|
||||
@@ -42,6 +49,13 @@ struct ContentMainBannerView: View {
|
||||
.cornerRadius(4.7)
|
||||
} else {
|
||||
KFImage(URL(string: item.thumbnailImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: screenSize().width - 26.7,
|
||||
height: (screenSize().width - 26.7) * 0.53
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(
|
||||
|
@@ -16,6 +16,13 @@ struct ContentMainItemView: View {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
ZStack(alignment: .topLeading) {
|
||||
KFImage(URL(string: item.coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 133.3,
|
||||
height: 133.3
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 133.3, height: 133.3, alignment: .top)
|
||||
@@ -32,6 +39,13 @@ struct ContentMainItemView: View {
|
||||
|
||||
HStack(spacing: 5.3) {
|
||||
KFImage(URL(string: item.creatorProfileImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 21.3,
|
||||
height: 21.3
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 21.3, height: 21.3)
|
||||
|
@@ -60,6 +60,13 @@ struct ContentMainRankingView: View {
|
||||
let content = viewModel.contentRankingItemList[index]
|
||||
HStack(spacing: 0) {
|
||||
KFImage(URL(string: content.coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 60,
|
||||
height: 60
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.frame(width: 60, height: 60)
|
||||
.cornerRadius(2.7)
|
||||
|
@@ -41,6 +41,13 @@ struct ContentModifyView: View {
|
||||
.clipped()
|
||||
} else if let coverImageUrl = viewModel.coverImageUrl {
|
||||
KFImage(URL(string: coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 107,
|
||||
height: 107
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 107, height: 107)
|
||||
|
@@ -16,6 +16,8 @@ struct SeriesContentListItemView: View {
|
||||
VStack(spacing: 12) {
|
||||
HStack(spacing: 11) {
|
||||
KFImage(URL(string: item.coverImage))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(size: CGSize(width: 66.7, height: 66.7))
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 66.7, height: 66.7)
|
||||
|
@@ -50,6 +50,13 @@ struct SeriesDetailView: View {
|
||||
.padding(.top, 94)
|
||||
|
||||
KFImage(URL(string: seriesDetail.coverImage))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 400 * screenSize().width / 1080,
|
||||
height: 564 * screenSize().width / 1080
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(
|
||||
@@ -113,6 +120,13 @@ struct SeriesDetailView: View {
|
||||
|
||||
HStack(spacing: 5.3) {
|
||||
KFImage(URL(string: seriesDetail.creator.profileImage))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(
|
||||
size: CGSize(
|
||||
width: 26.7,
|
||||
height: 26.7
|
||||
)
|
||||
)
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.clipShape(Circle())
|
||||
|
Reference in New Issue
Block a user