- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试创建一个非常简单的过渡动画,通过点击按钮在屏幕中央显示/隐藏一条消息:
struct ContentView: View {
@State private var showMessage = false
var body: một số View {
ZStack {
Color.yellow
VStack {
Spacer()
Button(action: {
withAnimation(.easeOut(duration: 3)) {
self.showMessage.toggle()
}
}) {
Text("SHOW MESSAGE")
}
}
if showMessage {
Text("HELLO WORLD!")
.transition(.opacity)
}
}
}
}
theo.transition(.opacity)
动画的文档
A transition from transparent to opaque on insertion, and from opaque to transparent on removal.
khi showMessage
状态属性变为 true 时消息应该淡入,当它变为 false 时淡出。就我而言,情况并非如此。该消息以淡入淡出动画显示,但隐藏时根本没有动画。有什么想法吗?
biên tập:请参阅下面从模拟器中获取的 gif 中的结果。
1 Câu trả lời
问题是当 View 在 ZStack 中来来去去时,它们的“zIndex”不会保持不变。发生的事情是,当“showMessage”从 true 变为 false 时,带有“Hello World”文本的 VStack 被放在堆栈的底部,黄色立即被绘制在它的顶部。它实际上正在淡出,但它是在黄色后面淡出的,所以您看不到它。
要修复它,您需要为堆栈中的每个 View 明确指定“zIndex”,以便它们始终保持不变 - 如下所示:
struct ContentView: View {
@State private var showMessage = false
var body: một số View {
ZStack {
Color.yellow.zIndex(0)
VStack {
Spacer()
Button(action: {
withAnimation(.easeOut(duration: 3)) {
self.showMessage.toggle()
}
}) {
Text("SHOW MESSAGE")
}
}.zIndex(1)
if showMessage {
Text("HELLO WORLD!")
.transition(.opacity)
.zIndex(2)
}
}
}
}
关于ios - 过渡动画在 SwiftUI 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57730074/
Hôm nay một người bạn để lại tin nhắn cho tôi hỏi, try{...}catch(){...} có nghĩa là gì? Nó được dùng để làm gì? Nói một cách đơn giản, chúng được sử dụng để bắt các ngoại lệ. Chúng ta hãy giải thích chi tiết thông qua một ví dụ.
Tôi đang cố gắng cải thiện khả năng truy cập vào trang web của mình nhưng không biết cách đánh dấu danh sách liên kết mạng xã hội ở phần chân trang. Những liên kết này dẫn đến tài khoản của tôi trên Facecook, Twitter, v.v. Tôi không muốn đánh dấu những liên kết này bằng role="navigation" vì
Giả sử bây giờ là 6 giờ, tôi có Timer và lên lịch cho TimerTask vào lúc 10 giờ. Sau đó, Ngày giờ hệ thống được điều chỉnh thành 9 giờ bởi các dịch vụ khác (như ntp). Tôi vẫn hy vọng TimerTas của tôi
Hiện tại, câu hỏi này không phù hợp với định dạng Hỏi & Đáp của chúng tôi. Chúng tôi mong đợi câu trả lời được hỗ trợ bởi các sự kiện, tài liệu tham khảo hoặc chuyên môn, nhưng câu hỏi này có thể gây ra tranh luận, tranh cãi, thăm dò ý kiến hoặc thảo luận mở rộng. Nếu bạn cảm thấy vấn đề này có thể được cải thiện và có thể mở lại, hãy truy cập
Tôi sẽ không nói nhiều nữa, chúng ta hãy cùng xem mã nhé~ ? 1
Maven Series 1 1. Maven là gì? Maven là một công cụ quản lý dự án bao gồm mô hình đối tượng. Một bộ tiêu chuẩn, một hệ thống quản lý sự phụ thuộc. và được sử dụng để chạy các mục tiêu và logic của plugin được xác định trong các giai đoạn vòng đời. Chức năng cốt lõi
Tôi là một lập trình viên xuất sắc, rất giỏi!