Tag: swift

search栏在input时从视图中消失

我在ViewDidLoad()添加了SearchBar到我的TableView中: self.searchBar = UISearchController(searchResultsController: nil) self.searchBar.searchResultsUpdater = self self.searchBar.dimsBackgroundDuringPresentation = false self.searchBar.searchBar.sizeToFit() self.tableView.tableHeaderView = self.searchBar.searchBar self.tableView.reloadData() 一切工作正常,但是当我点击这个SearchBar它消失。 这意味着,我仍然可以打字,我可以看到结果,但是,没有看到SearchBar 。 我实现了UISearchBarDelegate ,我一直在试图添加 func searchBarTextDidBeginEditing(searchBar: UISearchBar) { self.navigationController?.navigationBarHidden = false } func searchBarTextDidEndEditing(searchBar: UISearchBar) { self.navigationController?.navigationBarHidden = true } 但它仍然不起作用。 你有什么想法,为什么这个Search Bar消失? 这个问题的解决方法是(像@sandy悲伤)在viewDidLoad()写这行代码 self.aNavigationController?.extendedLayoutIncludesOpaqueBars = true 但现在我有一个新的问题,这是什么意思当我在TableViewselect行并显示新的VievController , SearchBar不会消失,我在新的视图中看到它。 为什么?

在UItextview上设置dynamic高度以编程方式适应内容

只是通过编程编码,我试图实现像下面的图像。 TextView和ContainerViewembedded在滚动视图中,虽然它没有显示在图像中。 这是我的代码。 override func viewDidLoad() { super.viewDidLoad() let margin = CGFloat(10) textView = UITextView() textView.text = "asdadaasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadaadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadadasdadadaddadd" let contentSize = textView.sizeThatFits(textView.bounds.size) textView.frame = CGRectMake(margin, 0, self.view.frame.width – 2 * margin, contentSize.height) let scrollView = UIScrollView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height – 50)) let containerView = UIView(frame: CGRectMake(margin, contentSize.height + margin, self.view.frame.width […]

更新关系后,NSFetchedResultsController从UITableView中删除行

这是我如何设置NEFetchedResultsController : private func setupOnceFetchedResultsController() { if fetchedResultsController == nil { let context = NSManagedObjectContext.MR_defaultContext() let fetchReguest = NSFetchRequest(entityName: "WLWishlist") let dateDescriptor = NSSortDescriptor(key: "createdAt", ascending: false) fetchReguest.predicate = NSPredicate(format: "ANY users.identifier = %@", String(WLAppSettings.currentUser!.identifier) ) fetchReguest.sortDescriptors = [dateDescriptor] fetchReguest.fetchLimit = 10 fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchReguest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil) fetchedResultsController.delegate = self […]

使用Swift在Xcode 6中使用xib在自定义uiview中获取SIGABRT

我已经通过在线一些教程创build了一个具有两个标签的自定义视图。 我已经将自定义的xib连接到两个标签的sockets的swift类文件。 当我从视图控制器初始化视图,我需要呈现视图,我得到一个SIGABRT错误的行 let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView 自定义视图类的代码如下所示: import UIKit @IBDesignable class LevelButton: UIView { @IBOutlet weak var levelLabel: UILabel! @IBOutlet weak var score: UILabel! var view:UIView! var levelLabelText:String? { get { return levelLabel.text } set(levelLabelText) { levelLabel.text = levelLabelText } } var scoreText:String? { get{ return score.text } set(scoreText) { […]

你可以在Xcode的模拟器中testingreplaykit吗?

我在ipad air 2模拟器,并试图testingreplaykit,看看是否popup窗口来查看录制的屏幕的video。 当我这样做,我得到一个错误说这个。 那是因为我在模拟器中testing它吗? 插件com.apple.ReplayKit.RPVideoEditorExtension中断 集线器连接错误错误域= NSCocoaErrorDomain代码= 4097“连接到服务名为com.apple.ReplayKit.RPVideoEditorExtension”UserInfo = {NSDebugDescription =连接到服务名为com.apple.ReplayKit.RPVideoEditorExtension}

删除UISearchBar中的清除button

我想从UISearchBar中删除清除button(灰色x)。 我试图像这个答案中所描述的那样做 ,但它不起作用。 我将答案和下面的注释中的Objective-C代码翻译成以下Swift代码: for subview in searchBar.subviews { configureSearchBarView(subview as UIView) } func configureSearchBarView(view: UIView) { for subview in view.subviews { self.configureSearchBarView(subview as UIView) } if subview.conformsToProtocol(UITextInputTraits) { var clearView = view as UITextField clearView.clearButtonMode = UITextFieldViewMode.Never } } 不幸的是,这并没有删除清除button。 另外一个答案build议与appearanceWhenContainedIn一起工作,但是这个方法似乎并没有在Swift中实现。 有任何想法吗?

如何实例化一个导航和选项卡控制器从其他视图控制器是在继续(显示详细信息)?

我之前问过一个问题,它成功的工作得益于其中一个答案如何从另一个视图控制器实例化导航控制器? ,但我遇到了一个新的问题,即每当我点击一个button从显示细节赛格,它应该导航到一个导航栏的正常选项卡,但它什么都没做。 这是故事板 这是场景 1)用户点击firstViewController上的一个button,它将继续显示到第三个显示细节的ViewController 2)用户点击另一个button,然后应该使用下面的代码去第二个ViewController 这是代码 在ThirdViewController中 @IBAction func buttonTapped(sender: UIButton) { guard let tabBarController = tabBarController else { return } let navController = tabBarController.viewControllers![1] as! UINavigationController let secondViewController = navController.topViewController as! SecondViewController secondViewController.name = "My name is TDog" tabBarController.selectedIndex = 1 } 我做错了什么? 我还需要实例化吗?

在UITabBarController和UINavigationController中编辑button

我只是将我的UINavigationControllerembedded到UITabBarController中。 我不能再看到我的视图标题或编辑button。 请参阅下面的故事板。 如何使编辑button再次可见? 我的故事板:

从Core Audio Callback更新UI的最佳做法是什么?

我目前正在围绕Core Audio进行包装,并且遇到了如何更新GUI AudioQueueInputCallback的问题。 首先,我想用麦克风的电平表读数来更新标签。 在我的代码中,我将当前的电平表值存储在每个callback的结构中。 func MyAudioQueueInputCallback(inUserData: UnsafeMutablePointer<Void>, inAQ: AudioQueueRef, inBuffer: AudioQueueBufferRef, inStartTime: UnsafePointer<AudioTimeStamp>, var inNumberPacketDesc: UInt32, inPacketDesc: UnsafePointer<AudioStreamPacketDescription>){ var error: OSStatus if (inNumberPacketDesc > 0){ error = AudioFileWritePackets(MyRecorder.recordFile, false, inBuffer.memory.mAudioDataByteSize, inPacketDesc, MyRecorder.recordPacket, &inNumberPacketDesc, inBuffer.memory.mAudioData) checkError(error, operation: "AudioFileWritePackets Failed ") // Increment the packet index MyRecorder.recordPacket += Int64(inNumberPacketDesc) if (MyRecorder.running){ error = AudioQueueEnqueueBuffer(inAQ, inBuffer, inNumberPacketDesc, […]

重新加载表会导致闪烁

下面有一个search栏和一个表格视图。 当我search一些networking调用时,10个项目被添加到一个数组来填充表格。 当我滚动到表格的底部时,另一个networking电话是另外10个项目,所以现在有20个项目在数组…这可以继续下去,因为它是一个无限的滚动类似Facebook的新闻饲料。 每次我进行networking调用时,我也在主线程上调用self.tableView.reloadData() 。 由于每个单元格都有一个图像,因此您可以看到闪烁 – 单元格图像闪烁白色 。 我试着实现这个解决scheme,但我不知道把它放在我的代码或如何。 我的代码是Swift,那就是Objective-C。 有什么想法吗? 更新到问题1 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier(R.reuseIdentifier.searchCell.identifier, forIndexPath: indexPath) as! CustomTableViewCell let book = booksArrayFromNetworkCall[indexPath.row] // Set dynamic text cell.titleLabel.font = UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline) cell.authorsLabel.font = UIFont.preferredFontForTextStyle(UIFontTextStyleFootnote) // Update title cell.titleLabel.text = book.title // Update authors cell.authorsLabel.text […]