Tag: swift

Swift在UITableView中添加页脚视图

这实际上是一个tableview和tableview单元格,我想在tableview单元格的末尾添加一个Submitbutton,但是我该怎么做呢? 我试图在故事板上手动添加button,但它不工作,button不显示。 有没有其他办法可以做到这一点? 我想要做下面的截图。

Swift:裁剪和导出video

我想裁剪一个video,但我做不到。 我把这个代码转换成了swift,但是在导出video后我只能看到黑屏 var videoComposition: AVMutableVideoComposition = AVMutableVideoComposition() videoComposition.frameDuration = CMTimeMake(1, 60) videoComposition.renderSize = CGSizeMake(clipVideoTrack.naturalSize.height, clipVideoTrack.naturalSize.height) var instruction: AVMutableVideoCompositionInstruction = AVMutableVideoCompositionInstruction() instruction.timeRange = CMTimeRangeMake(kCMTimeZero, CMTimeMakeWithSeconds(60, 30)) var transformer: AVMutableVideoCompositionLayerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: clipVideoTrack) var t1: CGAffineTransform = CGAffineTransformMakeTranslation(clipVideoTrack.naturalSize.height, 0) var t2: CGAffineTransform = CGAffineTransformRotate(t1, CGFloat(M_PI_2)) var finalTransform: CGAffineTransform = t2 transformer.setTransform(finalTransform, atTime: kCMTimeZero) instruction.layerInstructions = NSArray(object: transformer) […]

更改单个单元格UITableView的高度

我想要像下面这样的东西: func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("NewsCell", forIndexPath: indexPath) as! UITableViewCell if indexPath == 3{ cell.height = "50dp" } return cell } 这是什么select或最简单的方法呢? 编辑 是否可以指定章节号码:ie- if sectionIndex == 5

每次点击取消button时,search栏会跳下一行

我已经实现了一个UISearchBar来search外部API中的项目目录。 searchfunction按预期工作,但问题是,每次按下search栏文本字段右侧的取消button,整个search栏向下移动一行,看起来像是推动整个表视图也是如此。 因此,如果我在search栏文本字段中input一个字母,然后按取消,search栏文本字段向下移动44px,这是行高度,并且表视图本身也被按下相同的数量。 如果我连续按input的东西,然后按取消,search栏将进一步向下移动视图。 任何build议将是伟大的! 这是我的代码: import Foundation import UIKit import ItemLogger private extension Selector { static let dismiss = #selector(SearchVC.dismissView) } extension SearchVC: UISearchResultsUpdating { func updateSearchResultsForSearchController(searchController: UISearchController) { let searchBar = searchController.searchBar let scope = searchBar.scopeButtonTitles![searchBar.selectedScopeButtonIndex] filterContentForSearchText(searchController.searchBar.text!, scope: scope) } } extension SearchVC: UISearchBarDelegate { func searchBar(searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) { filterContentForSearchText(searchBar.text!, […]

在Swift中获取UIBarButtonItem的框架?

我怎么能迅速获得rightbarbuttonItem的框架? 我发现这个: UIBarButtonItem:我如何find它的框架? 但它说不能将NSString转换为UIView,或不能将NSString转换为string: let str : NSString = "view" //or type String let theView : UIView = self.navigationItem.rightBarButtonItem!.valueForKey("view")//or 'str' 目标是删除rightBarButtonItem,而不是添加一个imageView,并用淡出效果来移动它。 谢谢

iOS8 Swift:deleteRowsAtIndexPaths崩溃

我在Swift,iOS 8,Xcode 6 Beta 6中从我的tableView中删除一行时遇到了一些麻烦。每当我尝试删除一行时,我得到一个错误 声明失败 – [UITableView _endCellAnimationsWithContext:],/SourceCache/UIKit_Sim/UIKit-3302.3.1/UITableView.m:1581 2014-08-30 20:31:00.971 Class Directory [13290:3241692] ***终止应用程序,由于未捕获的exception'NSInternalInconsistencyException',原因:'更新无效:第1部分中的行数无效。更新(25)后现有部分中包含的行数必须等于更新前该部分中包含的行数(25),加上或减去从该部分插入或删除的行数(插入0,删除1),加上或减去移入或移出该部分的行数(移入0,移出0)。 我已经阅读了这个常见问题的所有答案,并且觉得我已经达到了所推荐的条件。 该项目似乎从数据模型中删除 – 当我重新加载应用程序,删除的项目从表中消失 – 但似乎有适当的sqlite文件中的遗留物,当然,math不加起来。 吐出indexPath的println显示正确的Section和Row。 我很困惑。 这应该是直截了当,但我失去了一些愚蠢的,我确信,我怀疑在数据模型删除。 在Github上完整的项目。 func numberOfSectionsInTableView(tableView: UITableView!) -> Int { return fetchedResultController.sections.count } func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int { return fetchedResultController.sections[section].numberOfObjects } func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { […]

WCSession.sendMessage工作50/50

最近,我正在研究一个与“手表/ iPhone通信”有关的项目。 但是我的代码有时是有效的,有时候不起作用,这对我来说很奇怪,因为我认为代码应该工作或者不工作。 它不能是50/50。 所以,我不知道出了什么问题。 在iPhone上设置WCSession: class WatchCommunicationController: NSObject, WCSessionDelegate { var session : WCSession? override init(){ // super class init super.init() // if WCSession is supported if WCSession.isSupported() { // it is supported // get default session session = WCSession.defaultSession() // set delegate session!.delegate = self // activate session session!.activateSession() } else { print("iPhone […]

通过AVMetadataMachineReadableCodeObject从Aztec条形码读取原始字节会产生意外的结果

我一直在研究一种适用于德国铁路公司(德国铁路公司)使用的特殊条形码的iOS阅读器应用程序。 它是一个连接DSA签名string和zlib瘪负载的Aztec条形码的变体。 当我得知AVMetadataMachineReadableCodeObject没有读取条码中包含的原始字节的公开方法时,我被卡住了,string方法总是乱码zlib压缩数据。 幸运的是, 这个答案给了我正确的方向。 (私人)字节可以通过KVO访问,因为我目前不期望在App Store上分发应用程序,所以这是完美的。 尽pipe我几乎不存在Swift和Objective-C知识,但是我设法使这个工作起来,就像你在示例代码中看到的那样。 但是,存储在NSData的条形码字节与预期的结果不符! 我怀疑我使用的zlib库( DeflateSwift )没有工作,所以我构build了一个testing用例,它工作正常。 我的问题是:我做错了什么? 我是否需要进一步处理原始字节以获得预期结果(请参阅下文)? AVMetadataMachineReadableCodeObject中存储的字节的原始数据是AVMetadataMachineReadableCodeObject ? 任何人都可以指向正确的方向吗? 任何帮助表示赞赏。 这是我的代码(这是一个Swift和Objective-C混搭) if let metadataObject = metadataObjects.first { let readableObject = metadataObject as! AVMetadataMachineReadableCodeObject; let rawReadableObject = readableObject.valueForKeyPath("_internal.basicDescriptor")!["BarcodeRawData"] as? NSData; if let rawBytes = rawReadableObject { let barcodeData = rawBytes; // or use testData instead let barcodeSplit:Int = […]

Swift NSUserDefaults setString:forKey:?

NSUserDefaults有integerForKey: , setInteger:forKey:和stringForKey:但没有setString:forKey: stringForKey: 你如何设置一个stringNSUserDefaults? 它有setObject:forKey:但是,在Swift中,String是一个结构。 是否可以使用setObject:forKey:来存储一个string?

当上传iOS应用程序到App Store时,Xcode试图匹配框架捆绑ID

开发我的第一个iOS应用程序4个月后,是时候把它提交给App Store 。 我在iTunes Connect创build了应用程序,填写了所有的细节,并在Connect和Xcode设置了正确的Bundle ID 。 不过,我最近三天努力解决这个奇怪的问题。 这似乎是Xcode试图上传Cocoapods框架,而不是我的主要应用程序。 归档后,我去了Window > Organizer > Validate… 我看到以下屏幕: 错误: (对于googlers:没有find合适的应用程序logging,请确认您的包标识符' org.cocoapods.Alamofire '是否正确)。 错误消息表明它试图根据框架的名称来匹配一个Bundle ID ,而不是我自己的bundle(例如com.organization.AppName )。 我无法在任何地方find答案。 我尝试在我的Podfile (其中有use_frameworks!),以及我的不同的conf组合,但没有成功。 post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = "" config.build_settings['CODE_SIGNING_REQUIRED'] = "NO" config.build_settings['CODE_SIGNING_ALLOWED'] = "NO" end end end 问题: 我正在做的步骤是正确的吗? 为什么Xcode试图匹配一个framework's bundle id而不是我的主要应用程序? 我怎么能通过这个问题,最终提交我的应用程序? 编辑1:我能够通过这个问题,但后来导致了另一个问题,所以我还没有一个解决scheme。 基本上,Alamofire […]