当用户滚动文本时,是否可以淡入/淡出滚动视图顶部和底部的文本?Xcode 14.2、iOS 16、斯威夫特 5.7
我研究了其他解决方案,例如:SwiftUI - fade out a ScrollView
我尝试过以下操作,但它水平淡出侧面并添加颜色。我希望它是垂直的并且透明淡入淡出,如图所示。
ScrollView {
ScrollViewReader { scrollViewProxy in
VStack {
ForEach(chatMessages, id: \.id) { message in
messageView(message: message)
}
.mask(
VStack(spacing: 0) {
// Top gradient
LinearGradient(gradient:
Gradient(
colors: [Color.black.opacity(0), Color.black]),
startPoint: .leading, endPoint: .trailing
)
.frame(width: 250)
// Middle
Rectangle().fill(Color.black)
// Bottom gradient
LinearGradient(gradient:
Gradient(
colors: [Color.black, Color.black.opacity(0)]),
startPoint: .leading, endPoint: .trailing
)
.frame(width: 250)
}
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经使用此代码来产生水平淡入淡出,但需要在顶部和底部垂直。这是模拟器中现在的内容。
看图片:
我使用AFNetworking从我的rails api获取啤酒细节,我想从返回的url中显示一个图像.
示例API响应
description = "Super tasty";
id = 3;
"label_url" = "/system/beers/labels/000/000/003/medium/Pliny.png?1363034728";
"location_id" = 2;
name = "Pliny The Elder";
price = "3.5";
style = IPA;
Run Code Online (Sandbox Code Playgroud)
label_url是图像的url,我试图在BeerDetailViewController中显示它.这是我到目前为止所尝试的,它没有错误但没有图像显示.
BeerDetailViewController.m
#import "UIImageView+AFNetworking.h"
#import "AFImageRequestOperation.h"
- (void)viewDidLoad
{
[super viewDidLoad];
beerLabel.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:
[NSURL URLWithString: beer_label]]];
Run Code Online (Sandbox Code Playgroud)
任何想法为什么它不起作用?我可以在这个视图中显示这样的网址,beerLabel.text = beer_label我知道它正在通过并阅读使用,只是不确定为什么它不显示图像.