我如何添加一个UITapGestureRecognizer到一个UITextView,但仍然有触及通过UITextView 正常 ? 目前只要我添加一个自定义的手势到我的textView它会阻止UITextView的默认动作,如定位光标。 var tapTerm:UITapGestureRecognizer = UITapGestureRecognizer() override func viewDidLoad() { tapTerm = UITapGestureRecognizer(target: self, action: "tapTextView:") textView.addGestureRecognizer(tapTerm) } func tapTextView(sender:UITapGestureRecognizer) { println("tapped term – but blocking the tap for textView :-/") … } 我怎样才能处理水龙头,但像光标定位保持任何textView行为?
我有一堂课 class Player { var name = "" func encodeWithCoder(encoder: NSCoder) { encoder.encodeObject(name) } func initWithCoder(decoder: NSCoder) -> Player { self.name = decoder.decodeObjectForKey("name") as String return self } init(coder aDecoder: NSCoder!) { self.name = aDecoder.decodeObjectForKey("name") as String } init(name: String) { self.name = name } } 我想序列化并保存到用户的默认值。 首先我不确定如何正确编写编码器和解码器。 所以对于init我写了两个方法。 当我尝试执行此代码: func saveUserData() { let player1 […]
我正在用CoreDatatestingswift,并创build了以下代码: import UIKit import CoreData class Contact: NSManagedObject { @NSManaged var name: String @NSManaged var email: String class func execute(){ let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate) let context:NSManagedObjectContext = appDel.managedObjectContext! let entityDescripition = NSEntityDescription.entityForName("Contact", inManagedObjectContext: context) let contact = Contact(entity: entityDescripition!, insertIntoManagedObjectContext: context) contact.name = "john Apleesee" contact.email = "john@apple.com" context.save(nil) let fetch:NSFetchRequest = NSFetchRequest(entityName: […]
在swift项目中加载xib文件有一些奇怪的问题。 这太令人沮丧了,因为我已经知道如何在Obj-C中做到这一点。 但是,因为迅捷是快速的,所以你不能像你这样做。:/ 所以我创build了IconTextFiled.xib和IconTextField.swift。 (扩展UITextField)在xib中,我填写Idenity检查器中的字段类和故事板中,我做一些textFields相同。 所以我们只需要从xib向init方法加载加载? 没有。 在objc我会这样做 – (instancetype)initWithCoder:(NSCoder *)coder { self = [super initWithCoder:coder]; if (self) { NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"IconTextField" owner:self options:nil]; self = [nib objectAtIndex:0]; } return self; } 所以我想,如果我翻译的速度会很快。 required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) let nib:NSArray = NSBundle.mainBundle().loadNibNamed("IconTextField", owner: self, options: nil) self = nib.objectAtIndex(0) } […]
我正在用Swift语言和方法创build一个UITableViewController override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? 我得到这个错误 NSIndexPath? 在Swift中没有成员名“行”错误 我不明白为什么。 这是我的代码 import UIKit class DPBPlainTableViewController: UITableViewController { var dataStore: NSArray = NSArray() override func viewDidLoad() { super.viewDidLoad() self.dataStore = ["one","two","three"] println(self.dataStore) } // #pragma mark – Table view data source override func numberOfSectionsInTableView(tableView: UITableView?) -> Int { // Return the number […]
突然我开始得到运行时错误, fatal error: NSArray element failed to match the Swift Array Element type 我宣布我的arrays为, var myArray : [CUSTOM_CLASS] = [CUSTOM_CLASS]() 现在,在我的服务器响应成功块中, self.myArray = dicResponse["data"]! as Array println(self.myArray) // FATAL ERROR HERE 升级到Xcode6 Beta6之前,这是完美的 FYI : dicResponse["data"]! // is verified as valid (抱歉指向错误的地方!) 解决了 : 不知道,但我做了一些改变,它的工作原理, var myArray = [AnyObject]() self.myArray = dicResponse["data"]! as [AnyObject]
我有一个具有多个属性的核心数据实体,我想要一个属性中的所有对象的列表。 我的代码如下所示: let appDel:AppDelegate = UIApplication.sharedApplication().delegate as AppDelegate let context:NSManagedObjectContext = appDel.managedObjectContext! let sortDesc = NSSortDescriptor(key: "username", ascending: true) let fetchReq = NSFetchRequest(entityName: "Identities") fetchReq.sortDescriptors = [sortDesc] fetchReq.valueForKey("username") let en = NSEntityDescription.entityForName("Identities", inManagedObjectContext: context) userList = context.executeFetchRequest(fetchReq, error: nil) as [Usernames] 但是这给了我一个NSException-错误,我不知道为什么,或者我该怎么做。 我读过NSFetchRequest类的描述,但没有多less意义。 任何build议,将不胜感激。 编辑:从Bluehound提示后,我改变了我的代码: var userList = [Model]() @IBAction func printUsers(sender: AnyObject) { let […]
我使用Google SDK作为应用程序iOS8(Swift)。 我想用智能手机的方向旋转的箭头来replaceGMSMapView中的蓝点(我的位置)。 我怎样才能做到这一点? 编辑: 我设法看到我的箭头,但我有三个问题: 1:箭头被切断,我没有find放大的区域 2:箭头的位置不完全在我的位置我通过删除“0,5”来解决这个问题: CGContextTranslateCTM(context, size.width, size.height) 3:箭头的方向与原来的对称我在“度”之前加“ – ”来解决这个问题: CGContextRotateCTM(context, CGFloat(DegreesToRadians(Double(-degrees)))) 如何解决这些问题?
在我的应用程序中,我将图像存储在本地存储中,并将该图像的path保存在数据库中。 我怎样才能从该path加载图像? 这里是我用来保存图像的代码: let myimage : UIImage = UIImage(data: data)! let fileManager = NSFileManager.defaultManager() let urls = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask) let documentDirectory = urls[0] as NSURL print(documentDirectory) let currentDate = NSDate() let dateFormatter = NSDateFormatter() dateFormatter.dateStyle = .NoStyle dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" let convertedDate = dateFormatter.stringFromDate(currentDate) let imageURL = documentDirectory.URLByAppendingPathComponent(convertedDate) imageUrlPath = imageURL.absoluteString print(imageUrlPath) UIImageJPEGRepresentation(myimage,1.0)!.writeToFile(imageUrlPath, […]
如何在Swift中使用MapKit在用户的当前位置与特定位置之间绘制路线 ? 我search了很多,但没有find任何有用的Swift特定的链接或教程。