Tag: swift3

Swift 3:如何删除UITableView截图的灰色区域

我在从tableview的屏幕截图中删除灰色区域时遇到了问题。 这是我试图截图UITableView的输出(我实际上隐藏了一些不需要的tableViewCell ,可能这就是为什么区域显示为灰色) 任何帮助表示赞赏! 非常感谢你! 🙂 回答 我用@kishan和@ Sneak的答案find了解决scheme。 正如我以编程方式截图我的UITableView ,我只是将代码中的视图和tableview的backgroundColor更改为白色。 func screenshot() -> UIImage{ var image = UIImage(); UIGraphicsBeginImageContextWithOptions(self.tableView.contentSize, false, UIScreen.main.scale) // save initial values let savedContentOffset = self.tableView.contentOffset; let savedFrame = self.tableView.frame; let savedBackgroundColor = self.tableView.backgroundColor // reset offset to top left point self.tableView.contentOffset = CGPoint(x: 0, y: 0); // set frame to […]

核心数据自定义策略的select器语法是什么?

我正在尝试使用Core Data实现非常基本的自定义迁移。 一个属性最初被创build为Integer 16 ,值为0或1.在新的模型版本中,该属性被更改为Boolean ,下面的迁移策略应该处理它。 我已经看到了几个用Swift编写的例子,他们似乎没有使可访问性打开/公开,或者添加@objc使其可以被Objective-C访问。 我已经这样做了,以消除任何不工作的原因。 我已经使用以下expression式为实体映射创build了具有自定义策略的映射模型。 FUNCTION($entityPolicy, "convertInteger:" , $source.active) 它保持失败,因为select器不被识别。 具体来说,它会得到以下错误。 unrecognized selector sent to instance 我已经尝试了很多变化。 convertInteger: 转换(整数:) convertInteger(_ 🙂 我无法获得任何变化的工作。 什么是这个expression式的有效select器? 在Swift代码中,我把一个断言在初始化,它通过,但我不能在策略的expression式中使用相同的select器。 import CoreData @objc open class IntegerToBooleanMigrationPolicy: NSEntityMigrationPolicy { @objc public override init() { super.init() assert(responds(to: #selector(convert(integer:))), "Policy does not respond to selector!") } @objc open func convert(integer: […]

如何在Swift3中使用alamofire与对象映射器来映射数组中的数组?

我有以下数组,我从响应: 如何获取单个string中每个ID的操作date的值,例如:星期一,星期二,星期三….目前,我正在整个数组中获取cashPointsOperatingDays。 我如何编写Swift3代码? 使用对象映射器: // MARK: Travel Shops Mapper class GetTravelShopsResponse: Mappable { var message: String? var status: Int? var travelShopsData: [TravelShopsResponse]? var cashCollectionsDateTimeData: [CashCollectionsDateTime]? // var threeDayForecast: [TravelShopsResponse]? required init?(map: Map) { mapping(map: map) } func mapping(map: Map) { message <- map["messages"] status <- map["status"] travelShopsData <- map["data"] } } class TravelShopsResponse: Mappable { […]

dispatch_once转换Swift 3

以下是我的原始代码: var checkUnauthorizedToken: dispatch_once_t = 0 override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) dispatch_once(&checkUnauthorizedToken) { if self.unauthorized { self.performSelector(#selector(self.displayUnauthorizedMessage), withObject: nil, afterDelay: 0.5) } } } 因为dispatch_once已被删除,我正确地说,我可以安全地调用select器没有它? 例如: override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) if self.unauthorized { self.performSelector(#selector(self.displayUnauthorizedMessage), withObject: nil, afterDelay: 0.5) } } 它是否正确?

无法识别的select器发送到类

我已经看到,这是一个常见的问题,但我找不到任何解决scheme。 这里是代码: class ButtonViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() view.addSubview(button) } func exmp(sender: UIButton) { print("hello world") } let button: UIButton = { let but = UIButton(frame: CGRect(x: 33, y: 33, width: 33, height: 33)) but.setTitle("-", for: .normal) but.titleLabel?.textColor = UIColor.white but.layer.cornerRadius = 10 but.backgroundColor = UIColor.red but.addTarget(ButtonViewController.self, action: #selector(ButtonViewController.exmp(sender:)), for: .touchDown) return […]

将Alamofire结果保存为variables?

我一直在试图找出如何将Alamofire的JSON响应的一部分保存为一个variables来做一个if语句,似乎无法find如何去做。 我做了一段代码来作为由以下内容组成的问题的例子: import UIKit import Alamofire class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() Alamofire.request("http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=44143256ee15e9c3f521ca062463dd8d").responseJSON { response in print(response.result) // result of response serialization if let JSON = response.result.value { print("JSON: \(JSON)") } } } } 我从API请求中获得以下响应: JSON: { base = stations; clouds = { all = 0; }; cod = 200; coord = […]

Swift 3 – UTC到前一刻标签,思考12h / 24h设备时间的变化

我想将timeUTC转换为“5s前”。 前面的标签也在想着12h / 24h的变化。 因为崩溃。 现在下面的代码返回标签值行我想在游乐场。 但不是在我的ios项目。 它不会进入If块。 我错过了什么或者有什么问题? let dateStringUTC = "2016-10-22 12:37:48 +0000" let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss ZZZ" if let from = dateFormatter.date(from: dateStringUTC) { dateFormatter.dateFormat = "MMM d, yyyy h:mm:ss a" let stringFromDate = dateFormatter.string(from: from) let dateLast = dateFormatter.date(from: stringFromDate) let now = Date() let components: NSCalendar.Unit […]

本地通知 – 重复快速间隔3

我想每周重复本地通知,在iOS10之前有repeatInterval ,但我无法find适合在iOS10中重复通知的任何内容。 TimeTrigger和calendarTrigger都有重复的真实或错误,我可以在哪里申请重复每周,每天,每月。 谢谢。

在此处静音语音指示Maps iOS SDK

我想在开启和closures之间切换iOS应用中的语音指示。 HERE映射指令( https://developer.here.com/mobile-sdks/documentation/ios-hybrid-plus/topics_api_nlp_hybrid_plus/protocolnmaaudiomanagerdelegate-p.html )仍然都是在Objective-C中。 这个语言很清楚如何做到这一点,但我正在寻找Swift 3的等价物。 该手册说: (BOOL)audioManager 🙁 NMAAudioManager *)audioManager shouldPlayOutput 🙁 NMAAudioOutput *)输出 当audiopipe理器输出播放时调用。 如果委托返回YES,或委托没有实现此方法,则立即播放输出。 如果代表返回NO,代表接pipe负责处理输出。 我正在猜测类似的东西,但我不能说清楚: func audioManagerShouldPlayOutput(_ audioManager: NMAAudioManager!, shouldPlayOutput:false) { }

如何让JSON在Swift 3中填充UITableView?

我无法获取数据显示。 我已经从MCViewController自定义类发布我的代码。 它不会build立。 但是,我确实在控制台中获得数据响应。 有人能指出我做错了什么吗? class MCViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { let message_url = "https://www.testing.com/api/resources/get_film_message/film_id/3825" let send_url = "https://www.testing.com/api/resources/send_film_message" let film_id = "3825" var messageArray = [String]() weak var messageView : UITableView! func messageView(_ messageView: UITableView, numberOfRowsInSection section: Int) -> Int { return messageArray.count } func messageView(_ messageView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { […]