Tag: swift

iOS应用程序在PushViewController上冻结

我的导航控制器间歇性地冻结推。 它似乎将新的视图控制器添加到堆栈,但animation永远不会发生。 我还有两个容器可以在屏幕上保存视图控制器,在导航控制器冻结之后,我可以很好地与它们交互。 真正有趣的是,如果我尝试将另一个视图控制器推到导航控制器的堆栈上,我注意到堆栈顶部有一个额外的视图控制器(我最初推送的视图控制器冻结了导航控制器)。 因此,如果我在主屏幕上(我们将它称为VC-Home),并尝试推新视图(VC-1)并冻结,则尝试推新视图(VC-2)这是我在推送之前在当前堆栈中看到的内容: { [VC-Home, VC-1] } 和pushViewController被调用后,它保持不变; VC-2不被添加到堆栈。 从我所知道的情况来看,导航控制器通过在animation开始之前使以前的视图控制器处于非活动状态来启动animation,但是animation从未发生,导致导航控制器处于冻结状态。 我通过调用UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("ViewController")从故事板创build新的视图控制器,所以我不认为这里有任何问题。 我也没有重写导航栏上的pushViewController。 关于我的应用程序的一些独特的事情是它是非常高分辨率的图像沉重(使用SDWebImage来pipe理),我一次总是有三个容器在屏幕上(一个导航控制器,一个视图控制器search,一个交互式阴沟/侧面/滑出菜单)。 CPU使用率低,内存使用情况正常(发生冻结时稳定在60-70MB左右)。 有什么想法可能会导致这个或任何debugging技巧,可以帮助我发现真正的问题? 更新 没有唯一的代码UINavigationController,因为我只是推pushViewController()。 这是调用它的代码: func didSelectItem(profile: SimpleProfile) { let vc = UIStoryboard.profileViewController() vc.profile = profile navigationController?.pushViewController(vc, animated: true) } 我推送的ViewController在viewDidLoad中有以下代码: override func viewDidLoad() { super.viewDidLoad() button.roundView() if let type = profile?.profileType { //load multiple view controllers […]

Swift以编程方式导航到另一个视图控制器/场景

我正在使用以下代码以编程方式导航到另一个ViewController。 它工作正常,但它如何隐藏navigation bar 。 我该如何解决? (导航栏是通过在navigation controllerembeddedViewController来创build的(如果有的话)。) let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("nextView") as NextViewController self.presentViewController(nextViewController, animated:true, completion:nil)

我如何在Swift中设置UIWebView的“User-Agent”标题

我正在使用Swift的iOS应用程序的Xcode 6。 我有一个embedded式UIWebView的简单的ViewController。 你可以find下面的代码。 现在我想更改User-Agent HTTP标头。 我试图使用NSURLRequest的setValue方法,但它不起作用(请参阅未注释的行)。 有谁知道这是怎么做到的吗? import UIKit class WebViewController: UIViewController { @IBOutlet weak var webView: UIWebView! override func viewDidAppear(animated: Bool) { var url = NSURL(string: "https://www.samplepage.com") var request = NSMutableURLRequest(URL: url) // request.setValue("Custom-Agent", forHTTPHeaderField: "User-Agent") webView.loadRequest(request) } }

Swift:如何组合两个Dictionary实例?

如何使用Swift将[Dictionary]附加到另一个[Dictionary] ? 我正在使用AlamoFire库将JSON发送到REST server 。 词典1 let dict1: [String: AnyObject] = [ kFacebook: [ kToken: token ] ] 词典2 let dict2: [String: AnyObject] = [ kRequest: [ kTargetUserId: userId ] ] 如何将两个字典组合成一个新字典,如下所示? let parameters: [String: AnyObject] = [ kFacebook: [ kToken: token ], kRequest: [ kTargetUserId: userId ] ] 我试过dict1 += dict2但有一个编译错误。 提前致谢!

如何在Swift中以string的forms获取CNContact电话号码?

我正在尝试检索所有联系人的姓名和电话号码,并将其与iOS中的Swift放入数组中。 我已经做到了这一点: func findContacts() -> [CNContact] { marrContactsNumber.removeAllObjects() marrContactsName.removeAllObjects() let store = CNContactStore() let keysToFetch = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey] let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch) var contacts = [CNContact]() do { try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in contacts.append(contact) self.marrContactsName.addObject(contact.givenName + " " + contact.familyName) self.marrContactsNumber.addObject(contact.phoneNumbers) print(contact.phoneNumbers) } catch let error as […]

如何在Swift中正确声明自定义对象数组?

这是我的自定义类…不知道如果我错过了任何东西… import UIKit class baseMakeUp { var Image = UIImage() var Brand: String var Color: String var Rating: Int = 0 init (Brand: String, Color: String) { self.Brand = Brand self.Color = Color } } 我想在这里实例化… import UIKit class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } […]

为UIImagePicker添加圆形裁剪组件?

我有一个圆形框架的UIImageView ,我需要添加一个圆形框架裁剪工具的UIImagePickerController后,从图片库中select图像。 非常类似于Instagram的UIImagePicker's裁剪组件。 我如何添加这种types的组件? UPDATE 我find了一个圆形的裁剪工具回购https://github.com/ruslanskorb/RSKImageCropper 但有人可以指导我怎么用UIImagePickerController这个裁剪工具后,用户从照片库中select一张照片? UPDATE 我在debugging器中收到以下消息: 我的裁剪视图中的button被禁用,这意味着我不能select他们..debugging器传递给我什么信息? 这里是我的代码: @IBAction func chooseProfilePicture(sender: AnyObject) { var myPickerController = UIImagePickerController() myPickerController = UIImagePickerController() myPickerController.delegate = self; myPickerController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary self.presentViewController(myPickerController, animated: true, completion: nil) } func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) { var image : UIImage = (info[UIImagePickerControllerOriginalImage] as? UIImage)! editProfilePictureImageView.image = image […]

UITableView与多个部分使用Realm和Swift

好吧,所以我发现了很多关于UITableView和多个部分的信息,然而,他们总是使用string,数组,静态数据,Obj-C或其他我无法翻译的情况,主要是因为我完全新开发的应用程序。 任何帮助都非常感激,因为我已经有一个多月的时间,一直在尝试不同的方法而没有成功。 所以我有多个Dog对象具有以下属性: class Dog: Object { dynamic var name = "" dynamic var race = "" dynamic var age = 0 dynamic var owner = "" dynamic var dogID = "" override static func primaryKey() -> String? { return "dogID" } } 在我的ViewController文件中,我有下面的代码(我删除了不相关的行): let realm = try! Realm() var dogResults : Results<Dog>? override func […]

在Watch App中创buildWKInterfaceImage的进度圈

我正在尝试为我的应用的Apple Watch版本创build一个进度圈。 我知道我们不能使用UIViews(这将使事情变得如此简单!),所以我正在寻找替代品。 基本上,我想创build一个这样的原型: 我希望做的事情的方式是将背景图层添加为正常的WKInterfaceImage,然后将顶部的进度箭头/线添加为WKInterfaceImage,该WKInterfaceImage根据计算的百分比围绕圆圈旋转。 我有这样的基本计算百分比,我正在寻找的是一些帮助旋转箭头的math代码。 有谁知道这是否可能,如果有的话,谁能帮我一把吗? 我没有试图在应用程序运行时更新该圈子; 它只是需要更新时,手表应用程序启动对应的iOS版本。 谢谢!

Swift – 如何创build自定义viewForHeaderInSection,使用XIB文件?

我可以创build简单的自定义viewForHeaderInSection以编程方式像下面。 但是我想做更复杂的事情,也许连接一个不同的类,并达到像tableView单元格的属性。 简单地说,我想看看我做什么。 func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { if(section == 0) { let view = UIView() // The width will be the same as the cell, and the height should be set in tableView:heightForRowAtIndexPath: let label = UILabel() let button = UIButton(type: UIButtonType.System) label.text="My Details" button.setTitle("Test Title", forState: .Normal) // button.addTarget(self, […]