我有一个美元(货币)金额,我试图在 Text 元素中使用字符串插值来显示该金额。目前,它显示如 9.9900000。我希望该值仅显示为 9.99。
struct ContentView: View {
var productPrice: Double = 9.99
var body: some View {
Text("\(productPrice)")
}
}
Run Code Online (Sandbox Code Playgroud) 我一直在寻找一种方法来复制 Airbnb 和许多其他公司所做的滚动动画,视图的顶部折叠/隐藏在滚动中,并在用户再次开始向上滚动时立即重新出现。请注意“日期”和“访客”按钮在附加图像中滚动时如何变透明。
下面我附上了一个我刚刚拼凑起来的简单视图。我试过包括我想在滚动视图内外折叠的区域。我猜它需要在滚动视图之外,因为它会独立于您在滚动区域内的位置进行动画处理。
import SwiftUI
struct HideScrollView: View {
var body: some View {
ScrollView {
HStack {
Text("Hide Me")
Spacer()
}.padding(.horizontal) .frame(height: 60) .background(Color.red) .foregroundColor(Color.white)
ForEach(0 ..< 20) { item in
VStack {
HStack {
Text("Content Items")
Spacer()
}.padding(.horizontal) .frame(height: 40)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
我正在寻找一种使 NavigationBar 透明的方法。我的 NavigationView 位于 ContentView 的根视图中,其中包含一个 TabView。
import SwiftUI
struct ContentView: View {
var body: some View {
TabView {
HomeView().tabItem {
Image(systemName: "house.fill")
Text("Home")
}.tag(1)
NavigationView {
SearchView()
}
.tabItem {
Image(systemName: "magnifyingglass")
Text("Search")
}.tag(2)
}
Run Code Online (Sandbox Code Playgroud)
即使在根视图中添加以下修饰符后,导航视图栏也会显示。
init() {
UINavigationBar.appearance().backgroundColor = .clear
UINavigationBar.appearance().isHidden = false
Run Code Online (Sandbox Code Playgroud)
}
下面是我试图隐藏导航栏背景的子视图。
import SwiftUI
struct FacilityView: View {
var perks = "Badge_NoPerks"
var image = "Image_Course6"
var courseName = "Course"
var body: some View {
VStack {
HStack {
Image(image)
.resizable()
.aspectRatio(contentMode: .fill) …
Run Code Online (Sandbox Code Playgroud) 我注意到在我的应用程序中 .edgesIgnoringSafeArea 在 iOS 13.3 和 iOS 13.4 中呈现不同的视图。
在我的 ContentView 中,我应用了 .edgesIgnoringSafeArea(.top) 的修饰符。这在 13.4 之前的所有 iOS 13 版本中都能正确显示。现在在 13.4 的 GM 中,视图的顶部和底部被切断了。
这是我的内容视图
struct ContentView: View {
@EnvironmentObject var session: SessionStore
func getUser() {
session.listen()
}
var body: some View {
Group {
ZStack {
TabView {
ExploreView().tabItem {
Image(systemName: "house.fill")
Text("Explore")
}.tag(1)
FestivalsView().tabItem {
Image(systemName: "globe")
Text("Festivals")
}.tag(2)
ProfileView().tabItem {
Image(systemName: "person.crop.circle.fill")
Text("Profile")
}.tag(3)
}
.accentColor(Color("wdwPurple"))
.edgesIgnoringSafeArea(.top)
}
}.onAppear(perform: getUser)
}
}
Run Code Online (Sandbox Code Playgroud)
这是它的显示方式:
有任何想法吗?
我正在尝试通过电子邮件/密码登录使用 SwiftUI + Firebase 身份验证。我的问题是,有没有办法在用户创建帐户时将配置文件信息附加到用户的身份验证信息中,或者我是否必须将 Firebase Auth 与 Firestore 或 Firebase 数据库结合使用?我只是想收集用户的名字和姓氏,可能还有城市/州/国家。
import SwiftUI
import Firebase
import Combine
class SessionStore: ObservableObject {
var didChange = PassthroughSubject<SessionStore, Never>()
@Published var session: User? {didSet {self.didChange.send(self) }}
var handle: AuthStateDidChangeListenerHandle?
func listen() {
handle = Auth.auth().addStateDidChangeListener({ (auth, user) in
if let user = user {
self.session = User(uid: user.uid, email: user.email, displayName: user.displayName)
} else {
self.session = nil
}
})
}
func signUp(email: String, password: String, handler: @escaping AuthDataResultCallback) {
Auth.auth().createUser(withEmail: email, …
Run Code Online (Sandbox Code Playgroud) 我不确定Beta 3中是否有任何更改,但是,当尝试将NavigationBarTitle修改器添加到NavigationView时,它不显示标题的文本吗?有任何想法吗?
NavigationView {
List(0 ..< 20) { item in
NavigationLink(destination: Text("1")) {
Text("Navigate 1")
}
}
}.navigationBarTitle(Text("Update")).navigationBarHidden(false)
}
Run Code Online (Sandbox Code Playgroud)
该列表显示,但导航视图中没有列表标题
我有一个视图正在从前一个视图接收 ID 值。我还需要获取该 ID 值并将其传递到 ObservableObject 中,以便我可以对该 ID 运行 Firestore 查询。我不知道如何获取 ObservableObject 的 ID。
struct ItemView: View {
var itemName: String
var itemID: String
@ObservedObject var items = getItemsData()
// ..... etc
}
class getItemsData() {
@Published var data = [items]()
init() {
let db = Firestore.firestore()
db.collection("items").whereField("itemID", isEqualTo: *THIS IS WHERE I NEED THE ITEMID *),addSnapshotListner {(snap, err) in ...
}
Run Code Online (Sandbox Code Playgroud)
因此,在查询调用中,我需要调用 ItemID 值来根据视图顶部定义的值进行查询。
这是一个关于具有边界半径的矩形的一般问题。我正在与一位开发人员合作,该开发人员使用我的 Photoshop 组件并将设计应用于 Blend 中的原型。他们告诉我在 Blend 中不可能创建只有 2 个弯曲角的矩形。假设您必须拥有所有 4 个带有边界半径的角,或者根本没有。理想情况下,我只想要边框半径为 10 的左上角和右上角和没有曲线的底部边缘。我只想知道这是否可行。
我将在这个问题上加上一个事实,即我严格地说是一个涉及xcode的设计师.我正在尝试构建一个'哑'原型.
我正在尝试设置2个VC.第一个VC有一个文本字段,允许用户键入搜索参数,一旦点击"返回",它应该将该参数传递给下一个VC.同样在这个特定的VC上,我在导航栏中设置了"后退"按钮.
我遇到的问题是我无法获得第一个VC后退按钮的代码来处理传递变量的代码.当我点击第一个视图控制器上的后退按钮时,它会导致应用程序崩溃.Xcode注意到问题出在传递变量的代码中.这是两个VC的代码.
import UIKit
class SearchViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var searchText: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
searchText.delegate = self
searchText.becomeFirstResponder()
// Do any additional setup after loading the view.
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
var destinationController = segue.destination as! ResultsViewController
destinationController.searchItem = searchText.text!
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if searchText.text != "" {
performSegue(withIdentifier: "resultsSegue", sender: self)
textField.resignFirstResponder()
return false …
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行检查以查看CSS'display'属性是否设置为"none",如果要将slideDown元素设置为"menuBK",否则请滑动"menuBK",但我收到错误IF线.
$(document).ready(function(){
$("#burger").click(function(){
if $("#menuBK").css( "display", "none" ); {
$("#menuBK").slideDown('slow');
$('body').addClass('noscroll');
} else {
$("#menuBK").slideUp('slow');
$('body').removeClass('noscroll');
}
});
});
Run Code Online (Sandbox Code Playgroud) 首先我要说的是,我还不是开发人员。我是一名设计师,正在尝试构建一个工作原型。如果我的问题看起来很模糊,我很抱歉,但我已经在这里搜索了 YouTube 教程和答案,但仍然感到困惑。
我有一个视图控制器,里面有一个表格视图。我正在尝试用一系列信息填充表格。这是我陷入困境的第一个区域。我知道如何将单个数据点填充到单元格中,但不知道如何将多条数据填充到单元格中。单元格应显示啤酒的名称、价格和简短描述,如所附图像文件中所示。这是我当前在 BeverageViewController 中的代码。另外,“ipsum lorem”文本是我不想显示的附加描述性文本,但我确实希望将其传递到 BeverageDetailsViewController 以在可能的情况下显示在那里。我不确定如何设置prepareForSegue 或performSegue 来引用所选行。
class BeveragesViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var BeveragesTableView: UITableView!
// Data
let beverages = [
("Coke", "2.00", "12 fl oz", "ipsum lorem"),
("Sprite", "2.00", "12 fl oz", "ipsum lorem"),
("Powerade", "2.00", "20 fl oz", "ipsum lorem"),
("Blue Moon", "2.00", "12 fl oz", "ipsum lorem"),
("Budweiser", "2.00", "12 fl oz", "ipsum lorem"),
("Bud Light", "2.00", "12 fl oz", "ipsum lorem"),
("Corona", "2.00", "12 fl oz", "ipsum lorem"),
("Dos …
Run Code Online (Sandbox Code Playgroud) 好的,我先介绍一下我是 SwiftUI 和编程的新手。我是一名用户体验设计师。但是,我正在尝试运行一个简单的 Firestore 查询并将结果返回到列表中。
我已经能够编写一个将结果成功写入控制台的函数,但我不知道如何访问函数中的信息,以便我可以在页面的主视图中使用它。
我已经开始了一个简单的视图,以便我可以专注于在列表中显示 Firestore 数据。这是我目前的准系统代码。
import SwiftUI
import FirebaseFirestore
struct FestivalListFB: View {
let db = Firestore.firestore()
func getVenues() {
let db = Firestore.firestore()
db.collectionGroup("Venues").getDocuments() {(querySnapshot, err) in
if let err = err {
print("Error getting documents \(err)")
} else {
for document in querySnapshot!.documents {
guard let venueEntry = document.get("venueTitle") as? String else {
continue
}
print(venueEntry)
}
}
}
}
var body: some View {
VStack {
List(0 ..<5) { item in
Text("Hello, World!") …
Run Code Online (Sandbox Code Playgroud) 只是想知道这是否可行.我正在与之合作的客户希望拥有他们网站的移动版本.我不想仅仅试图"缩小"他们当前的网站,而是想创建他们网站的平板电脑/手机版本,其中只包含当前在其Wordpress网站中的一些信息.理想情况下,我想创建一个使用PHP和mySQL的单独站点,并进入WP数据库并撤回我需要的信息.任何人都知道这是否可行?