使用Swiftui弹出锁/解锁按钮是否存在更好的方法?
我试图实现锁定/解锁按钮,但很难制作。 就我而言,我使用了两个图像。一个是带有锁的矩形,另一个只是一个矩形。 然后使用ZSTACK将它们作为一个按钮。
// mincho
import SwiftUI
struct ZStackView: View {
var clearInfoData : ClearInfo
var body: some View {
ZStack{
NavigationLink(destination: HonorDetailView(clearInfo: clearInfoData).toolbar{
Button(action: {
}, label: {
Image(systemName: "square.and.arrow.up")
})
}) {
Image(clearInfoData.clearImage)
.resizable()
.frame(width: 100, height: 100)
}.zIndex(data) // when stage cleared, data will change 0 to 1.
Image("LockedRectangle")
}
}
struct ZStackView_Previews: PreviewProvider {
static var previews: some View {
ZStackView(clearInfoData: cleardata[0].clearInfo[1])
}
}
这样,image + avarigationLink->作为按钮。 因此,当舞台清除时,此按钮显示解锁图像和工作导航视图。 我想在单击时控制按钮的不透明度。
在我的猜测中,当我单击时,按钮的不透明度会降低。 但是我想要那个按钮保持不透明。
- 是否存在其他更好的方法来解锁/锁定按钮?
- 如果是最好的方法,我该怎么做才能使此按钮不透明?
I tried to implement lock/unlock button, but it was hard to make.
In my case, I used two Image. One is Rectangle with a lock, another is just a rectangle.
And using ZStack, made them as a one button.
// mincho
import SwiftUI
struct ZStackView: View {
var clearInfoData : ClearInfo
var body: some View {
ZStack{
NavigationLink(destination: HonorDetailView(clearInfo: clearInfoData).toolbar{
Button(action: {
}, label: {
Image(systemName: "square.and.arrow.up")
})
}) {
Image(clearInfoData.clearImage)
.resizable()
.frame(width: 100, height: 100)
}.zIndex(data) // when stage cleared, data will change 0 to 1.
Image("LockedRectangle")
}
}
struct ZStackView_Previews: PreviewProvider {
static var previews: some View {
ZStackView(clearInfoData: cleardata[0].clearInfo[1])
}
}
Like this, Image + NavigationLink -> as a Button.
So when stage cleared, this button show unlock image and working navigation view.
And I want to control button's opacity when it clicked.
In my guess, button's opacity going lower when i click.
However I want that button keep opaque.
- Is it exist other better way to make unlock/lock button?
- If it is best way, what should I do to make this button opaque?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论