Tag: 快速

我怎样才能在UIView类中调用presentViewController?

我的项目中有一个自定义选项卡,在应用程序的每个屏幕上,所以我制作了自定义的UIView类和xib文件,并在其中添加了button。 现在,我希望我的button在不同的屏幕上有不同的story board ID导航。 但我不能从UIView类调用presentViewController 。 以前我在extension类中自定义函数在屏幕之间导航,但UIView类也不能调用该函数。 import UIKit @IBDesignable class tab: UIView { var view: UIView! @IBAction func btn1(sender: UIButton) { let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("6") self.presentViewController(vc, animated: true, completion: nil) } override init(frame: CGRect) { super.init(frame: frame) xibSetup() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) xibSetup() […]

如何使CAShapeLayer中的dynamicstrokeColor? 在Swift中

我使用六个参数(活动,不活动,有线,压缩,免费和总计)。 我做了一个CAShapeLayer类,我在那里做了一个function,我可以绘制圆只是添加参数的帮助。 我制作了CGPath并且在绘制一个圆圈的函数中添加了六次。 我得到了5层到UIView 。 我做了一秒钟更新数据的定时器,但它添加其他5层到UIView 。 这是错误的方式。 我想用数据animation弧,并在一秒钟内更新。 当层变得太多设备工作缓慢。 我怎样才能做到这一点? 我在这里写了我的例子。 public class Arc { public init() { } public func addFigure(path: CGPath, fillColor: UIColor, strokeColor: UIColor, strokeStart: CGFloat, strokeEnd: CGFloat, lineWidth: CGFloat, miterLimit: CGFloat, lineDashPhase: CGFloat, layer: CALayer) -> CAShapeLayer { let shape = CAShapeLayer() shape.path = path shape.fillColor = fillColor.CGColor shape.strokeColor = […]

长按快捷键中的一个自定义键盘

我正在制作一个自定义的键盘。 键盘上的删除键适用于单击。 但是长按不起作用。我想对删除键实行长按,这样当用户按住删除键时,键盘会不断的删除,就像标准的ios键盘一样。 我提到了一些Stackoverflow解决scheme,如https://stackoverflow.com/a/26234876/6077720,https://stackoverflow.com/a/25633313/6077720,https://stackoverflow.com/a/六百零七万七千七百二十零分之三千零七十一万一千四百二十一 但是没有一个对我有用。 我也试过这个代码: override func viewDidLoad() { super.viewDidLoad() textDocument = self.textDocumentProxy var longPress = UILongPressGestureRecognizer(target: self, action: #selector(self.longPress)) self.deleteKeyPressed.addGestureRecognizer(longPress) } func longPress(gesture: UILongPressGestureRecognizer) { if gesture.state == .Ended { print("Long Press") self.textDocumentProxy.deleteBackward() } } 但是编写这段代码之后,我的键盘就不会出现。 谁能帮帮我吗?

在故事板中为视图元素运行应用程序切换语言

我有一个应用程序,我想在应用程序内更改语言,这与localize.strings工作正常,但此代码不会触发main.strings文件。 以下是settingsLanguageVC中使用的代码 import UIKit let AppLanguageKey = "AppLanguage" let AppLanguageDefaultValue = "en" var appLanguage: String { get { if let language = NSUserDefaults.standardUserDefaults().stringForKey(AppLanguageKey) { return language } else { NSUserDefaults.standardUserDefaults().setValue(AppLanguageDefaultValue, forKey: AppLanguageKey) return AppLanguageDefaultValue } } set(value) { NSUserDefaults.standardUserDefaults().setValue((value), forKey: AppLanguageKey) } } class ViewController: UIViewController { 这里是stringsExtenstion.swift中使用的代码 import Foundation extension String { var localizeString: […]

CoreLocation线程崩溃崩溃:com.apple.CoreLocation.ConnectionClient.0x16fcb870.events

我在生产应用程序的Apple CoreLocation线程中遇到了这个崩溃。 我不能在我的testing中重现它,也很难弄清楚它是否在CoreLocation中。 目前发生的人口比例很低,但我可以看到它变得越来越大。 Crashed: com.apple.CoreLocation.ConnectionClient.0x16fcb870.events 0 CoreLocation 0x2aa2db54 CLClientCreateIso6709Notation + 53675 1 CoreLocation 0x2aa2dc7b CLClientCreateIso6709Notation + 53970 2 CoreLocation 0x2aa2de03 CLClientCreateIso6709Notation + 54362 3 CoreLocation 0x2aa2dcfb CLClientCreateIso6709Notation + 54098 4 CoreLocation 0x2aa30f59 CLClientCreateIso6709Notation + 66992 5 CoreLocation 0x2aa31089 CLClientCreateIso6709Notation + 67296 6 CoreFoundation 0x24954699 <redacted> + 16 7 CoreFoundation 0x2493f698 <redacted> + 120 8 […]

迁移可以在没有多个数据模型版本的情况下完成。 欢呼?

我指的是一个精彩的教程Swift核心数据教程的核心数据迁移。 啧啧称,核心数据的迁移与多个版本的数据模型齐头并进。 我正在尝试轻量级的迁移,并得出以下几点: 场景 – 我有一个数据模型,我试图添加一些新的属性到一个实体,我得到一个错误 – iOS版本 – 9.1 Swift版本 – 2.2 “用于打开商店的模型与用于创build商店的模型不兼容” 然后,我尝试通过添加代码来启用迁移而不创build任何新版本 – let options = [ NSMigratePersistentStoresAutomaticallyOption : true, NSInferMappingModelAutomaticallyOption : true ] try persistentStoreCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: URLPersistentStore, options: options) 然后我试着改变数据库的类似,即添加一个属性的实体和欢呼!!,它不会导致崩溃。 即使我试图访问特定的实体以及属性,但成功地做到了。 发生了什么是没有多个版本的迁移。 问题 – 迁移可能没有多个版本的数据模型? 链接到示例代码 – https://www.dropbox.com/s/mnb2dzxn56ghuet/CoreDataSwift-NSFetchedResultsController-master-2.zip?dl=0

如何重绘只有一个特定的图层? (IOS,SWIFT)

我有我的UIView 。 我在我的UIView画东西。 我添加了一个CALayer到我的UIView 。 现在我想让我的控制器只重绘我添加的CALayer。 我怎么做 ? 在我的实际代码中,它将重绘主视图。 我怎样才能重绘我的子视图(myshapelayer)? override func drawRect(rect: CGRect) { var myshapelayer:CAShapeLayer=CAShapeLayer(); var testbezier:UIBezierPath=UIBezierPath(); testbezier.moveToPoint(CGPoint(x: 60, y: 80)); … … myshapelayer.strokeColor=UIColor.blueColor().CGColor; myshapelayer.path=testbezier.CGPath; newlayer.addSublayer(myshapelayer) <draw on my main view> 控制器: myview.setNeedsDisplay();

“让”如何实现?

我从这个 Apple页面直接拉出了这个例子 struct FixedLengthRange { var firstValue: Int let length: Int } 如果您将此结构的实例分配给常量, let rangeOfFourItems = FixedLengthRange(firstValue: 0, length: 4) 它说我们不能改变它的属性值,即使它被声明为“var” 这让我想知道如何实现? 我希望在编译时可以检测到任何赋值,并显示编译错误。 但是在上述情况下,为什么它适用于结构的每个属性,而不pipe它是如何定义的? 我试图search这个,发现很难search关键字'let',因为这是相当常见的术语。 任何人都可以帮我理解这个吗?

AFHTTPSessionManager子类swift

使用自定义会话configuration创buildAFHTTPSessionManager的singletone子类的正确方法是什么? class DefaultSessionConfiguration: NSURLSessionConfiguration { override init () { super.init() self.HTTPShouldSetCookies = true HTTPCookieStorage?.cookieAcceptPolicy = NSHTTPCookieAcceptPolicy.Always HTTPAdditionalHeaders = [ "Content-Type": "application/json"]; } } let baseUrl = "https://google.com" class HTTPManager: AFHTTPSessionManager { static let _sharedAPIManager = HTTPManager(baseURL: NSURL(string: baseUrl)!, sessionConfiguration:DefaultSessionConfiguration()) class var sharedInstance : HTTPManager { return _sharedAPIManager } override init(baseURL url: NSURL!, sessionConfiguration session:NSURLSessionConfiguration? ) […]

获取个人应用程序电池使用情况

我想知道是否有任何方法可以获得用户在iOS中使用Swift 2时所使用的每个应用程序的电池使用百分比。就像在Settings > Battery ,将会有一个电池使用组。 请帮忙