Tag: swift

使用Swift的iOS上的XMPP连接问题

我正在尝试使用Swift使用XMPP框架( https://github.com/robbiehanson/XMPPFramework )。 我是新来的迅速 class ViewController: UIViewController { var password: NSString? var isOpen: Bool = false var xstream: XMPPStream? var loginServer: String = "" override func viewDidLoad() { super.viewDidLoad() println(connect()) // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that […]

从Storyboard中设置IBAction时,触摸“拖动距离”

我知道如何设置UIPanGesture事件和识别器,并获取我需要的数据时,我编程创build它们。 不过,我正在尝试学习如何使用故事板并使用IBOutlets。 我拖了一个IBAction的“触摸拖动里面”。 @IBAction func dragButtonDragEvent(sender: AnyObject) { println(sender) } 问题是我得到的发件人对象只是button本身。 有没有办法获得拖动距离或拖动事件数据时使用IBAction? 我试过了 @IBAction func dragButtonDragEvent(sender: AnyObject) { var drag:UIPanGestureRecognizer = sender as UIPanGestureRecognizer println(drag.state) } 但是,我得到了一个错误的内存访问错误和println不执行,因为发件人是button不是事件。 你可以build议如何使用Touch Drag Inside事件从故事板连接时?

取消UILongPressGesture

我无法取消UILongPressGesture。 手势连接到一个button,当按下button时,录音机开始录制audio。 当我离开button时,我想让录音停止。 任何帮助表示赞赏,谢谢! @IBAction func recordAudio(sender: AnyObject) { if sender.state == UIGestureRecognizerState.Ended { session.setCategory(AVAudioSessionCategoryPlayback, error: nil) recorder.stop() recordButton.backgroundColor = UIColor.whiteColor() save() } else if sender.state == UIGestureRecognizerState.Began { session.setCategory(AVAudioSessionCategoryRecord, error: nil) recorder.record() recordButton.backgroundColor = UIColor.greenColor() } else if sender.state == UIGestureRecognizerState.Cancelled { recorder.stop() recordButton.backgroundColor = UIColor.redColor() } } 编辑 – 拿2 @IBAction func recordAudio(sender: […]

禁用CALayer隐式animation

下面的类正试图阻止CALayer更改属性时发生的任何隐式animation。 // NoImplicitAnimations.h #import <Foundation/Foundation.h> #import <QuartzCore/QuartzCore.h> @interface NoImplicitAnimations : NSObject – (id<CAAction>) actionForLayer:(CALayer *)layer forKey:(NSString *)key; @end // NoImplicitAnimations.m #import "NoImplicitAnimations.h" @implementation NoImplicitAnimations – (id<CAAction>) actionForLayer:(CALayer *)layer forKey:(NSString *)key { return (id)[NSNull null]; } @end 我将Objective-C中的NoImplicitAnimations.h导入Swift桥接头。 我创build一个全局常量let _noImplicitAnimations = NoImplicitAnimations() 。 我这样扩展CALayer类: extension CALayer { func noImplicitAnimations () { delegate = _noImplicitAnimations } } […]

以无编程方式实例化UIViewController

我想创build一个UIViewController程序化,而不使用笔尖或故事板。 我认为这足以实现UIViewController为: class TestViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //Add some setup code here, without it it should just be blank } } 使用let vc = TestViewController(nibName: nil, bundle: nil)或者只是TestViewController() 然后只是推它: navigationController?.pushViewController(vc, animated: true) 但它显示了一个透明的navigationController (上方的酒吧)(后面的UIWindow显示,我有一个多窗口设置)

Swift:“ViewController.Type”没有名为“URL”的成员

我有我的viewController一些代码 var URL: NSURL = NSURL(string: "http://someurl.com")! var request : NSMutableURLRequest = NSMutableURLRequest(URL:URL) request.HTTPMethod = "POST" var bodyData = "data=something" NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { (response, data, error) in println(NSString(data: data, encoding: NSUTF8StringEncoding)) } 但是我得到的错误:“ViewController.Type”没有一个名为“URL”的成员。 如果我把代码放在ViewDidLoad中,它可以在应用程序启动时使用。 如何让代码在点击button上运行? 我试图把@IBAction放在ViewDidLoad的function,但是这也不工作:/ 编辑:全视图 // // ViewController.swift // postPhp // // Created by – on 01/12/2014. // Copyright (c) 2014 Dannie […]

Swift + didUpdateUserLocation没有被调用

我无法调用MKMapView委托方法didUpdateUserLocation 。 我到目前为止做了什么: 在项目中添加框架MapKit.framwork 通过import MapKit行import MapKit视图控制器中的框架 添encryption钥在plist文件中 <key>NSLocationAlwaysUsageDescription</key> <true/> 代码在视图控制器 增加了委托didUpdateUserLocation方法来检查位置是否更新,但从来没有调用。 // MARK: – MapView delegate methods func mapView(mapView: MKMapView!, regionDidChangeAnimated animated: Bool) { // Calling… } func mapView(mapView: MKMapView!, didUpdateUserLocation userLocation: MKUserLocation!) { // Not getting called } // MARK: – View lifeCycle methods override func viewDidLoad() { super.viewDidLoad() var locationManager = CLLocationManager() […]

迅速删除地图叠加

我正试图从地图上删除覆盖。 func removeMapOverlay() { var removeOverlays : [AnyObject]! = self.mapView.overlays // Above line throws runtime exception self.mapView.removeOverlays(removeOverlays) } self.mapView.overlays是AnyObject数组的types。 var overlays: [AnyObject]! { get } var overlays: [AnyObject]! { get } 。 所以最初我写了 var removeOverlays = self.mapView.overlays 它会在运行时在此行抛出EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)exception。 所以我没有为[AnyObject]types转换,我不知道它是正确的,但它仍然给我在运行时相同的exception。 编辑: 我为Objective C代码做的是: – (void) removeMapOverlay { [self.mapView removeOverlays:[self.mapView overlays]]; NSMutableArray *tempArray = [NSMutableArray […]

在Swift数组下标索引中的错误?

我已经从我的项目中分离出一些可以粘贴到Playground中的Swift代码。 它会在正常的Xcode编辑和Playground中产生一个错误“无法find接受提供的参数的'+'的重载 。 错误指的是最后一条(非平凡的)行。 import UIKit let points = 40 let max = points-1 let L = 10.0 let Deltat = 0.01 let Deltax = L/Double(points) var a = [Double](count: points, repeatedValue: 0.0) var b = [Double](count: points, repeatedValue: 0.0) var c = [Double](count: points, repeatedValue: 0.0) for i in 1..<max-1 { //let iPlus1 = […]

Swift无法在MKAnnotation中分配字幕

我试图以编程方式更新MKAnnotation内的字幕。 以下代码行产生一个cannot assign subtitle in annotation错误中cannot assign subtitle in annotation : let annotation: MKAnnotation = mapView.annotations[0] as! MKAnnotation annotation.subtitle = nil 任何人都可以帮助我带领我在地图内显示MKAnnotation之后更新字幕的方向吗?