Tag: swift

IOS Swift初学者

在屏幕上,view-scrollview-contentview,contentview中有很多文本框,所以我使用scrollview在一个屏幕上。现在的问题是我无法点击或键入文本字段,因为我知道滚动视图涵盖了contentview。 但是我想input文本框,并能够滚动屏幕。 我试图在这里看到很多答案,但无法找出正确的解决scheme。 scrollview和contentview都是启用用户交互,在滚动视图中打开/closures“延迟内容触摸”/“可取消内容触摸”,但不起作用。 感谢任何帮助。

Facebook图表请求正在返回名称,但不是电子邮件

我正在使用图表API从Facebooklogin返回我的名字和电子邮件。 这是我使用的代码 – 名称恢复正常,但电子邮件是零: func getUserInfo() { let params = ["fields" : "email, name"] let graphRequest = GraphRequest(graphPath: "me", parameters: params) graphRequest.start { (urlResponse, requestResult) in switch requestResult { case .failed(let error): print("error in graph request:", error) break case .success(let graphResponse): if let responseDictionary = graphResponse.dictionaryValue { print(responseDictionary) if let name = responseDictionary["name"] { self.nameLabel.text […]

无法使用RxSwiftvariablesasObservable()设置绑定(到:UITableView)

我试图绑定(:) :)一个collectionView,但tableView也不工作。 我有一个viewModel在哪里是我的variables<[]>,我想订阅当值更改,与我的tableView。 viewModel.theVariable .asObservable() .bind(to: tableView.rx.items(cellIdentifier: "Cell", cellType: UITableViewCell.self)){ (row, item, cell) in cell.textLabel?.text = item } .addDisposableTo(disposeBag) XCode告诉我Type 'inout UITableView' does not conform to protocol 'ReactiveCompatible'这应该是因为它适用于任何UIView。 我试过只是()Observable,这种方法似乎正常工作。 问题是我需要一个variables,我在ViewModel中设置了一个值,在View中我需要观察这个变化。 不确定Observable是否提供这种方法。 重点是,这应该工作,即使variables? 这是一个错误? 我使用Swift 3.2

如何在UITests的`tableViewCell`中访问`detailTextLabel`?

我想检查是否有一个tableViewCell.detailTextLabel与我的UITest中给定的string。 问题是,当我searchapp.tables.cells.children(matching: .staticText)它只会查找标签是tableViewCell.textLabel 。 关于如何查询detailTextLabel任何想法?

UITabbarController Swift中的UISplitViewController

好吧,我有一个UITabbarController的通用单一视图应用程序作为初始ViewController。 我有一个UISplitViewController作为其中一个选项卡中的项目。 SplitViewController有一个导航控制器作为其主节点,其中有一个uitableView viewController,如果你点击一个单元格,它“显示”细节视图(我试过显示细节也是)。 splitViewControllers细节视图控制器segue转到详细视图控制器。 我的问题是,当我去它的splitViewController选项卡它显示细节第一,而不是主(iPad和iPhone都相同)。 我花了几个小时阅读和观看不同的教程,并在这里查看问题,并找不到解决scheme。 代码我试过了(在自定义拆分viewcontroller类和viewcontroller与tableView类): func splitViewController(splitViewController: UISplitViewController, collapseSecondaryViewController secondaryViewController: UIViewController, ontoPrimaryViewController primaryViewController: UIViewController) -> Bool { return true } override func viewWillAppear(animated: Bool) { splitViewController?.delegate = self self.splitViewController!.delegate = self; self.splitViewController!.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible if UIDevice.currentDevice().userInterfaceIdiom == .Phone { if let con = self.splitViewController { con.preferredDisplayMode = .PrimaryOverlay print("phone") //^this code doesnt […]

使用核心数据swift ios将实体的所有属性获取到tableview中的行中的标签

我已经定义了两个属性名称和描述到一个名为Forms的实体,我想检索第一个标签中的名称和desc在第二个标签中的一行tableview 我所做的 我可以检索的东西 我希望将这些所有值都打印在每个单元格中,而不是每次都重复单元格单元格 let context = appDel.persistentContainer.viewContext let results = try! context.fetch(request) for result in results as! [NSManagedObject] { let formNameIs = result.value(forKey: "formName") as? String let formDescIs = result.value(forKey: "formDesc") as? String cell.titleLabel.text = formNameIs! cell.descLabel.text = formDescIs print(formNameIs!, formDescIs!) }

从自定义的uitableview单元格获取uitextfield数据 – Swift

我有一个问题与自定义tableview单元格与文本字段。 所以,我有一个单独的类与文本字段的单元格,但我无法检索我的tableview类中的数据。 在tableview类和textFieldShouldReturn函数中有一个textfield的委托,但是当我按下“Done”button时没有任何反应。 哪里可以成为一个问题? 非常感谢! 这里是表视图的代码: class MainTVC: UITableViewController, UITextFieldDelegate{ var tableParts: [Dictionary<String, Any>] = [] override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(true) tableParts = [ ["type": "title", "data": "Some data", "enabled": true], ["type": "date", "data": "Some data", "enabled": true], ["type": "location", "data": "Loading…", "enabled": true], ] tableView.reloadData() } override func viewDidLoad() { super.viewDidLoad() tableView.delegate […]

使用Libxml2parsingXML时使用较大的RAM

我正在使用URLSessionDataTask从API下载XML文件。 XML看起来像这样: <?xml version="1.0" encoding="UTF-8" ?> <ResultList id="12345678-0" platforms="A;B;C;D;E"> <Book id="1111111111" author="Author A" title="Title A" price="9.95" … /> <Book id="1111111112" author="Author B" title="Title B" price="2.00" … /> <Book id="1111111113" author="Author C" title="Title C" price="5.00" … /> <ResultInfo bookcount="3" /> </ResultList> 有时XML可能有数千本书。 我正在使用Libxml2中的SAXparsing器parsingXML。 在parsing时,我创build了一个对象Book并像这样设置了XML的值: private func startElementSAX(_ ctx: UnsafeMutableRawPointer?, name: UnsafePointer<xmlChar>?, prefix: UnsafePointer<xmlChar>?, URI: UnsafePointer<xmlChar>?, nb_namespaces: […]

更新整个项目的导航栏后退button图像

我需要更新整个项目的导航栏后退button图像某种我从下面的代码中实现了这一点,但问题是后退button显示两个相邻的行,这是我不想要的。 请指导我是否有任何代码删除这些行。 let image = UIImage(named:"backButton") let backImage = image?.imageWithRenderingMode(.AlwaysOriginal).resizableImageWithCapInsets(UIEdgeInsetsMake(0, 13, 0, 6)) UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImage, forState: .Normal, barMetrics: .Default) UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-400, 0), forBarMetrics: .Default)

删除子视图,然后将其添加回来

我有一个渐变子视图的UICollectionViewCell 。 在我的视图控制器,我有buttonsortingCoreData,然后在UICollectionView reloadData() 。 为了避免我的渐变子视图被一次又一次地绘制(就像它发生在过去一样),我在prepareForReuse()实现了removeFromSuperview() prepareForReuse() 。 在那里,我还实现了一个标志,以跟踪渐变的存在,所以当单元格加载时,我仍然添加一个新的渐变。 但是在删除渐变后,我的willMove(toSuperview: )不起作用,并且不显示渐变视图。 我的逻辑有什么问题? class CollectionCell: UICollectionViewCell { @IBOutlet weak var mealImg: UIImageView! @IBOutlet weak var mealTitleLbl: UILabel! @IBOutlet weak var gradientView: UIView! var gradientWasRemoved = false func configureCell(meal: Meal) { mealTitleLbl.text = meal.title let img = meal.getMealImage() mealImg.image = img addGradient() } func addGradient () { […]