Tag: swift3

如何在swift 3.0中用自定义UI创buildtabbar

我想从故事板创build一个标签栏,我创build它,但当点击标签栏当时图像不显示, 我想要一些图像标签栏像 我知道了 当我点击任何标签栏项目其显示像 这是我在configuration文件视图控制器中使用的代码 class ProfileViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() UIApplication.shared.statusBarStyle = .default self.tabBarController?.tabBar.isHidden = false UITabBar.appearance().tintColor = UIColor.init(patternImage: UIImage.init(named: "ic_home_tab_profile_sel.png")!) // Do any additional setup after loading the view. } } 任何帮助可以欣赏。 先谢谢你。

如何将阴影添加到导航栏而不是默认边框

我想用阴影replaceUINavigationBar的默认边框。 有没有办法做到这一点? 我已经尝试使用与添加阴影到UIView相同的方法,但它增加了我的NavigationBar的高度。

如何使用Alamofire 4在Swift 3中为JSON数据同时发送参数和正文的POST请求?

邮差api url加在下面。 现在的代码: let baseUrl = "abc.com/search/" let param = [ "page":"1", "size":"5", "sortBy":"profile_locality" ] let headers = [ "Content-Type": "application/json" ] Alamofire.SessionManager.default.request("\(baseUrl)field", method: .post,parameters: param, encoding: JSONEncoding.default, headers: headers).responseJSON { response in print(response.request ?? "no request") // original URL request if(response.response?.statusCode != nil){ print("done") if self.checkResponse(response.response!.statusCode){ let json = JSON(data: response.data!) //print("at_LeadStop json \(json)") […]

URLSessionTask如何运行

说我已经创build了一个URLSessionTask的实例: let task = URLSession.shared.dataTask(with: url) { (data, response, error) in print (\(Thread.current)) } // I start the task by task.resume() 我想了解URLSessionTask实例是默认在主线程还是在后台线程中运行。 所以,我打印Thread.current 。 当我运行我的代码时,它打印出来: <NSThread: 0x170273980>{number = 4, name = (null)} 我的问题是: 哪个线程的URLSessionTask默认运行? 主线程或后台线程? 为什么当前线程在线程name显示为空? 这是否意味着它默认在后台线程中运行? (我看到名称=“主”在主线上print ) 一般来说,是否有必要使用GCD运行URLSessionTask以强制它在后台线程中运行? 我问这是因为我看到一些教程不使用GCD来运行URLSessionTask ,他们只使用GCD在主线程中运行完成处理程序。

在文本字段中input时在文本字符之间添加空格

我有一个最大字符范围为16的textfield ,我希望在每4个字符之后加上减号字符或空格,然后写入其他字符,例如5022-2222-2222-2222。 有我的代码,但这是行不通的,怎么能这样做? if textField.text?.characters.count == 5 { let l = textField.text?.characters.count let attributedString = NSMutableAttributedString(string: cartNumberTextField.text!) attributedString.addAttribute(NSKernAttributeName, value: CGFloat(4.0), range: NSRange(location: l!, length: 4)) cartNumberTextField.attributedText = attributedString } else if textField.text?.characters.count == 9 { let l = textField.text?.characters.count let attributedString = NSMutableAttributedString(string: cartNumberTextField.text!) attributedString.addAttribute(NSKernAttributeName, value: CGFloat(4.0), range: NSRange(location: l!, length: 4)) cartNumberTextField.attributedText = attributedString […]

Swift 3:如何创buildUIImageView的边缘/边angular模糊?

目前我有一个CALayer应用于UIImageView像这样: let l: CALayer = imageView.layer l.masksToBounds = true l.cornerRadius = 20.0 我想要达到如下所示的模糊效果: 我已经尝试了以下内容: let blurEffect = UIBlurEffect(style: .light) let visualEffectView = UIVisualEffectView(effect: blurEffect) imageView.addSubview(visualEffectView) 以及: var visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .light)) visualEffectView.frame = staffImageView.bounds imageView.addSubview(visualEffectView) 但是,两者都没有达到我想要的结果。 有人可以提供帮助吗? 这似乎很简单,但我无法实现。 更新:我试图玩渐变,但没有太多的运气: var maskLayer = CAGradientLayer() maskLayer.frame = cell.imageView.bounds let black = UIColor.white.cgColor let clear = UIColor(white: […]

Swift 3 Type'Any'没有下标成员

我只是将我的项目转换为Swift 3我在这里有这行代码: let type = self.data[indexPath.row]["Type"] as? String 但现在我得到这个错误: Type 'Any' has no subscript members 为什么我得到这个错误,并修复它?

Pod文件没有被初始化?

当我尝试通过terminal初始化pod文件来使用cocoapods ,它给了我这个错误。 如何解决它。 /Library/Ruby/Gems/2.0.0/gems/cocoapods-1.2.0/lib/cocoapods/command.rb:128:in `verify_minimum_git_version!': [!] You need at least git version 1.8.5 to use CocoaPods (Pod::Informative)

录制video并同时播放audioios

我想同时录制video和播放audio。 当开始录制video时,预装audio开始播放,当停止录像时,audio也停止播放。 我尝试使用第三方库“ SwiftyCam ”( https://github.com/Awalz/SwiftyCam )录制video,并在开始写入video录制文件时以委托方法开始播放audio。 主要ViewCOntroller代码如下: override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) var temp = Data() let audioPath = Bundle.main.path(forResource: "ab1-FAST", ofType: "mp3") temp = FileManager.default.contents(atPath: (audioPath)!)! do { player = try AVAudioPlayer(data: temp) } catch let error { print(error) } self.configureAudioSession() player!.delegate = self self.player!.prepareToPlay() } // MARK: – // MARK: […]

Swift 3 NSCache通用参数'KeyType'无法被推断

此代码在Swift 2.x中工作: /// An internal in-memory cache private var dataCache = NSCache.init() 在Swift 3中会导致编译错误: Generic parameter 'KeyType' could not be inferred 为什么是这样,我应该如何重构这个(迁移工具没有select这个)?