我正在尝试为我的应用添加一个主题(一个黑暗的主题).因此,当用户点击活动开关时,它将使整个应用程序进入黑暗模式.我对黑暗模式进行了硬编码只是为了看看它会是什么样子; 但是现在我希望能够通过和UISwitch启用和禁用它,但我不知道该怎么做?
class DarkModeTableViewCell: UITableViewCell {
var DarkisOn = Bool()
let userDefaults = UserDefaults.standard
@IBOutlet var darkModeSwitchOutlet: UISwitch!
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func darkModeSwitched(_ sender: Any) {
if darkModeSwitchOutlet.isOn == true {
//enable dark mode
DarkisOn = true
userDefaults.set(true, forKey: "DarkDefault")
userDefaults.set(false, forKey: "LightDefault")
} else {
//enable light mode
DarkisOn = false
userDefaults.set(false, forKey: "DarkDefault")
userDefaults.set(true, …
Run Code Online (Sandbox Code Playgroud) 嗨,我在Xcode 10上遇到了一个非常恼人的错误
1 error generated.
<unknown>:0: error: failed to emit precompiled header '/Users/me/Library/Developer/Xcode/DerivedData/APP-hlczpckeselwrtaqjcbxdpoiogkj/Build/Intermediates.noindex/PrecompiledHeaders/APP-Bridging-Header-swift_35K3KO8G70VCD-clang_3DGF15CYP79L0.pch' for bridging header '/Users/me/Desktop/Swift/Folder/APP/APP/UNLKV2-Bridging-Header.h'
我不知道如何解决这个问题我已经尝试了一切.今天非常突然之前没有问题,但第二次我将Firebase info.plist添加到我收到此错误的项目中.我试图删除该文件,确保在"Objective-C桥接标题"中正确输入了头文件的名称,然后输入,因为$(PROJECT_DIR)/$(PROJECT_NAME)/$(PROJECT_NAME)-Bridging-Header.h
我已经清理并多次构建项目并重新安装了所有的pod.
除此之外,我也得到一个错误
找不到JPSVolumeButtonHandler/JPSVolumeButtonHandler.h'文件
我真的很感激,如果有人能帮我解决这个问题,我一直在每一个帖子和论坛上一整天都在寻找,没有什么对我有用.如果您需要有关此问题的更多信息,请告诉我们.
我知道关于这个话题有很多问题; 然而,这些答案都没有帮助我,我已经尝试了很多方法来解决这个问题.我的问题是,我的条形按钮不会显示,但是当稍后在应用程序中显示视图控制器时它将显示,但导航标题将不会显示.我不确定为什么会这样,但我相信它与我正在使用的SwipeNavigationController框架有关.我的目标是让按钮显示为当用户向左滑动以到达该视图时,以及稍后调用视图并呈现为相同时.添加navItem的代码如下:
let cameraBarButton = UIBarButtonItem(image: #imageLiteral(resourceName: "cameraIcon"), style: .plain, target: self, action: #selector(goToCamera))
navigationItem.rightBarButtonItem = cameraBarButton
Run Code Online (Sandbox Code Playgroud)
请查看其他帖子以更好地理解框架.以下是关于如何设置导航栏的代码:
override func viewDidLoad() {
super.viewDidLoad()
setupView()
let barHeight: CGFloat = UIApplication.shared.statusBarFrame.size.height
let displayWidth: CGFloat = self.view.frame.width
let displayHeight: CGFloat = self.view.frame.height
messagesTableView = UITableView(frame: CGRect(x: 0, y: barHeight, width: displayWidth, height: displayHeight - barHeight))
messagesTableView.register(BlankCell.self, forCellReuseIdentifier: blankCellID)
messagesTableView.dataSource = self
messagesTableView.delegate = self
self.view.addSubview(messagesTableView)
view.backgroundColor = UIColor.white
setupNavButtons()
setupNavBar()
showNoMessagesLabel()
navigationController?.isNavigationBarHidden = false
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = …
Run Code Online (Sandbox Code Playgroud) 我已经有了一个消息传递应用程序,我想实现Siri发送消息.我已经添加了Intents扩展和所有内容,我只是在弄清楚如何发送消息时遇到了问题.我曾尝试使用相同的函数发送消息ChatVC
,并将其复制并粘贴到IntentHandler.swift
文件中,但它给了我一堆编译器错误.是否有某种类型的框架我应该用它来与应用程序进行通信来执行此操作?如果需要该信息,我将使用Firebase作为我的数据库.
更新的代码:
注意,这段代码是我在用户发送普通消息时的发送功能,这就是我复制并粘贴到SiriIntent中的内容...
func handle(sendMessage intent: INSendMessageIntent, completion: @escaping (INSendMessageIntentResponse) -> Void) {
// Implement your application logic to send a message here.
sendMessage()
let userActivity = NSUserActivity(activityType: NSStringFromClass(INSendMessageIntent.self))
let response = INSendMessageIntentResponse(code: .success, userActivity: userActivity)
completion(response)
}
func sendMessage(text: String?, date: Date, picture: UIImage?, location: String?, video: NSURL?, audio: String?) {
var outgoingMessage: OutgoingMessage?
if let text = text {
let encryptedText = EncryptText(chatRoomID: chatRoomId, string: text)
outgoingMessage = OutgoingMessage(message: encryptedText, senderId: FUser.currentUser()!.objectId, senderName: FUser.currentUser()!.firstname, …
Run Code Online (Sandbox Code Playgroud) 我在SwiftyCam的 GitHub上的演示项目后创建了我的摄像头视图.所有东西都正确布局并且进展顺利; 然而,当按下相机按钮时,我在控制台中收到一条消息"[SwiftyCam]:无法拍照.捕捉会话未运行".还有其他人遇到过swift 4这个问题,你可以在这里找到.我逐行完成了整个框架但由于某种原因我无法弄明白.如果有人能够查看框架和文档并帮助我,我将非常感激.我正在这样做的方式就是在Swift 4 演示项目中完成它是如何完成的,这将是代码参考.
先感谢您
编辑:下面是在WelcomeVC之后设置SwipeNavigationController时的代码
let swipeNavigationController = SwipeNavigationController(centerViewController: CameraViewController())
swipeNavigationController.topViewController = BlueView()
swipeNavigationController.bottomViewController = PinkView()
swipeNavigationController.leftViewController = OrangeView()
swipeNavigationController.rightViewController = GreenView()
cameraView.navigationController?.setNavigationBarHidden(true, animated: false)
orangeView.navigationController?.setNavigationBarHidden(false, animated: false)
greenView.navigationController?.setNavigationBarHidden(false, animated: false)
let navController = UINavigationController(rootViewController: swipeNavigationController)
self.present(navController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
以下是CameraVC中的所有代码
class CameraViewController: SwiftyCamViewController, SwiftyCamViewControllerDelegate, SwipeNavigationControllerDelegate {
let orangeVC = OrangeView()
let greenVC = GreenView()
let blueVC = BlueView()
let pinkVC = PinkView()
let flipCameraButton: UIButton = {
let button …
Run Code Online (Sandbox Code Playgroud) 克隆我的Github存储库后,一切正常,除了由于以下错误而导致构建失败:“正在读取数据:由于没有这样的文件,无法打开文件“ Info.plist”。
我尝试了所有可能的解决方案,包括删除文件并创建一个新的解决方案,将其从“副本捆绑资源”中删除,将其添加到“构建设置”中,等等。我在所有解决方案中都关注了这些帖子,但是没有任何效果。错误:由于没有这样的文件而无法打开文件“ Info.plist”, Info.plist实用程序错误:由于没有这样的文件而无法打开“ Info.plist”
如果有人需要帮助您找到此问题的解决方案,我将不胜感激,如果您需要更多信息,请告诉我。
编辑:也是出于某种原因,当我查看项目时,它不是我提交给Github的最新版本。我想知道如何克隆确切的提交?我试图查看这篇文章,但我不确定在哪里可以找到远程地址?
我有一个 firebase 功能,可以在 24 小时后删除旧消息,就像我的旧问题一样 在这里的。我现在只将 messageIds 存储在用户下的数组中,路径是:/User/objectId/myMessages,然后是 myMessages 下所有 messageIds 的数组。所有消息都会在 24 小时后删除,但用户个人资料下的 ID 会保留在那里。有没有办法继续该功能,以便它也从用户帐户下的数组中删除 messageIds?
我是 Firebase 函数和 javascript 的新手,所以我不知道该怎么做。感谢所有帮助!
javascript node.js firebase firebase-realtime-database google-cloud-functions
所以我想要做的是我有一个带有图像和视频单元格的 UICollectionViewController,我想要它,这样当你点击视频时,它会全屏播放视频。我已经为图像制作了这个,但是我不太确定如何为视频做到这一点?因此,对于图像,您点击图像(单元格),图像会以黑色背景视图显示在屏幕中央。我想合并同样的东西,但有视频,当然视频会播放等等......
我正在从 Firebase 获取视频。
关于我对图像的代码:
import UIKit
import Firebase
import MobileCoreServices
import AVFoundation
class ImagesAndVideosController: UICollectionViewController, UICollectionViewDelegateFlowLayout {
lazy var messageImageView: UIImageView = {
let imageView = UIImageView()
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.layer.cornerRadius = 16
imageView.layer.masksToBounds = true
imageView.contentMode = .scaleAspectFill
imageView.isUserInteractionEnabled = true
imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleZoomTap)))
return imageView
}()
func handleZoomTap(_ tapGesture: UITapGestureRecognizer) {
if message?.videoUrl != nil {
return
}
if let imageView = tapGesture.view as? UIImageView {
self.chatLogController?.performZoomInForStartingImageView(imageView)
}
}
var startingFrame: CGRect?
var blackBackgroundView: UIView? …
Run Code Online (Sandbox Code Playgroud) 我已经在代码中创建了5个自定义按钮,它们都完美显示。但是,由于某些原因,当它们像未激活一样被点击时,没有任何响应。我在ViewDidLoad中添加了子视图,并在单独的函数中对约束进行了编码,这并不重要,我对此并不相信,因此请告诉我是否需要这样做,以增进您的理解。
代码:
let backgroundImageView: UIImageView = {
let imageView = UIImageView()
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.layer.masksToBounds = true
return imageView
}()
let transparentView: UIView = {
let view = UIView()
view.backgroundColor = UIColor.black
view.backgroundColor = view.backgroundColor?.withAlphaComponent(0.5)
return view
}()
let button1: UIButton = {
let button = UIButton(type: .custom)
button.addTarget(self, action: #selector(button1Pressed), for: .touchUpInside)
button.setImage(UIImage(named: "button"), for: .normal)
button.isUserInteractionEnabled = true
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
addSubviews()
setupViewConstraints()
}
func addSubviews() {
self.view.addSubview(backgroundImageView)
backgroundImageView.addSubview(transparentView)
transparentView.addSubview(button1)
}
func setupViewConstraints() …
Run Code Online (Sandbox Code Playgroud) swift ×8
ios ×5
firebase ×3
xcode ×2
info.plist ×1
javascript ×1
node.js ×1
objective-c ×1
sirikit ×1
swiftycam ×1
themes ×1
uibutton ×1
uiswitch ×1
video ×1
xcode11 ×1