Tag: swift

线程1:加载AVPlayer时EXC_BAD_ACCESS(code = EXC_I386_GPFLT)

我想加载一个AVPlayer,当我select一个collectionViewCell,这是我didSelectItem代码: func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if let item = items?[indexPath.item] { showPlayer(item: item) } } func showPlayer(item: Item) { let playerLauncher = PlayerLauncher() playerLauncher.showVideoPlayer() let playerView = PlayerView() playerView.item = item playerView.setupPlayerView() } 这是我的PlayerLauncher文件: class PlayerView: UIView { var item: Item? { didSet { if let id = item?.itemId { itemId […]

滚动时,UITableViewCell的选定button会消失

我正在使用swift 3编码的项目,我有一个UITableViewCell里面的UIButton,在点击button后图像会改变。 虽然所选的button被按照预期select,但是一旦UITableview滚动select的图像就会消失,因为这些单元已被重新使用。 由于我刚刚接触编程时遇到了编写逻辑的麻烦。 帮助将非常感谢代码如下。 CellFoRow func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) //Button_Action addSongButtonIdentifier(cell: cell, indexPath.row) } 这是单元格被创build的地方。 func addSongButtonIdentifier(cell: UITableViewCell, _ index: Int) { let addButton = cell.viewWithTag(TABLE_CELL_TAGS.addButton) as! UIButton //accessibilityIdentifier is used to identify a particular element which takes an input parameter […]

如何使用Alamofire 4.0创buildNTML请求?

这些是请求标题: let headers: HTTPHeaders = [ "Accept": "application/json", "username": "someUserName", "password": "aPasswordForSomeUserName" ] 当用下面的代码提出请求时,它会给我“最后的垃圾”。 但是,当我用JSONparsing器在线检查响应。 这是一个有效的JSON。 Alamofire.request("http://myserver/list.svc/random", headers: headers).responseJSON { response in print(response) } 我也试着提出这样的要求 : Alamofire.request("http://myserver/list.svc/random", headers: headers).responseString { response in print(response) } 我在控制台中得到这个消息:“401 UNAUTHORIZED” 。 我究竟做错了什么? 我相信,当使用responseJSON完成块它不抱怨Unauthorization ,但它抱怨坏的JSON(或一些垃圾)。 PS同样的要求与先进的rest客户端(铬扩展),并在铬浏览器工作正常。

像Facebook这样的Swift TableView Footer ActivityIndi​​catorView。 当滚动更多的数据加载

我想做一个TableView页脚activityIndi​​catorView像Facebook一样,当从Web上滚动下载更多的数据时,也可以说是infiniteScrollingView。 我的无限滚动是好的,但有三个问题在那里 footerView的背景空间不会隐藏完成​​从Web上加载数据后。 activityIndi​​catorView正在上下移动,但我想把activityIndi​​catorView总是像Facebook一样。 如果数据有显示activityIndi​​catorView NetworkRequestAPI请求 import Foundation class NetworkRequestAPI { static func getPropductListByCategory(productId : Int, pageNo : Int , completion: @escaping ([Product]? , Error?) -> ()){ let url = URL(string: Configuration.BASE_URL+"/product-by/type?product_type_id="+String(productId)+"&page="+String(pageNo)) var categoryObject = [Product]() URLSession.shared.dataTask(with:url!) { (urlContent, response, error) in if error != nil { } else { do { let json = […]

将UILabel的位置改为CGPath的strokeEnd

我正在尝试实现与附加图像类似的function,根据您的关卡进度将圆圈设置为animation,然后将标签附加到animationpath的末尾以显示获得的体验以及圆圈的未绘制部分以显示其余的经验。 我有圈子animation想要通过,但有麻烦提出解决scheme的标签出现在正确的位置。 我已经尝试将标签的位置设置为path.currentPoint,但总是似乎是绘制path的开始,而不是结束。 任何关于如何实现这一点的指针都会很棒!

在没有segue的情况下在多个视图控制器之间共享数据(Swift 3)

我正在做一个QR码扫描仪测验应用程序,用户必须从10个问题得到10分。 在用户第一个qn之后,分数加1,并且将它们还原到qr扫描器页面,在那里他们必须扫描下一个qn的QR码。 问题是分数数据的传递。 有没有办法做到这一点没有segue? 这是我的qn1controller import UIKit class Quiz1Controller: UIViewController { @IBOutlet var question: UILabel! @IBOutlet var button1: UIButton! @IBOutlet var button2: UIButton! @IBOutlet var button3: UIButton! @IBOutlet var button4: UIButton! @IBOutlet var LabelEnd: UILabel! @IBOutlet var scorelabel: UILabel! var score = Int() var CorrectAnswer = String() override func viewDidLoad() { super.viewDidLoad() RandomQuestions() } override […]

UINavigationbar barTintColor不能在UISplitview模板中工作

我正在尝试几个小时来更改我的应用程序中的导航栏barTintValue。 我正在使用Swift的Xcode的Master-Detail模板,我在这里读了很多问题,但答案始终是使用 navigationController?.navigationBar.barTintColor = UIColor.redColor() 这在AppDelegate中工作正常,但我想要在运行时根据其内容更改每个DetailView中的颜色。 当我把这个代码到主或DetailViewController只是没有任何反应。 我之前和之后打印出的颜色,它确实设置的值,它只是不会改变。 我需要更新视图还是什么? 感谢您的帮助! MAIK

如何为ARKit创build一个场景文件?

在ARKit示例源代码中,我可以看到“.scn”[场景工具包文件]。 我想知道如何创build一个新的场景文件? 让我们说一个硬币场景? 任何网站,我可以下载? 或学习如何创build一个供我使用? 🤞

Swift XCUIstring断言失败

我正在使用xcode 8.3.3并编写一个XCUItesting。 我有以下几点: let address = XCUIApplication().buttons["URL"].value as! String let address = XCUIApplication().buttons["URL"].value as! String 看debugging器,我可以看到的价值是: 如果我设置expectedURL = "\u{e2}auth.int….net"那么它返回: 如果我设置expectedURL = "auth.int….net"然后它返回: 我怎样才能使testing断言find两个string是平等的? 尝试了以下,但它并不取代“\ u {e2}”: let address = value.components(separatedBy: ",").first!.replacingOccurrences(of: "\u{e2}", with: "") 而且(但它不会取代“\ u {e2}”): let range = Range<String.Index>(uncheckedBounds: (lower: address.startIndex, upper: address.endIndex)) let strippedAddress = address.replacingOccurrences(of:"\\u{e2}", with: "", options: .literal, range: range) […]

刷UIPageViewController – Swift上出现的差距

我用UIPageViewController创build了一个“模块屏幕”的容器。 如果设置前一个屏幕,主要问题是大小错误。 在屏幕截图上,你可以看到显示2个屏幕,而不是1。 用于设置我使用的新屏幕 func launchViewControllerC(vc: USBaseVaultStepViewcontroller, step: UIPageViewControllerNavigationDirection, animated: Bool = true) { vc.delegate = self self.pageController.setViewControllers([vc], direction: step, animated: true, completion: nil) } 对于之前的屏幕我使用: func launchPreviousScreen() { guard let previousStep = self.currentSetupStep.previousStep() else { return } guard let previousController = self.setupStepViewControllerForStep(previousStep) else { return } self.currentSetupStep = previousStep previousController.delegate = self self.pageController.setViewControllers([previousController], direction: […]