Tag: swift3

rightBarButtonItem图像没有显示出来

任何人都可以帮我理解我的代码中有什么问题。 我没有得到它我的代码编译罚款没有任何错误,但我的形象没有显示出来。我相信我的形象出现在资产文件夹,我也给我的图像正确的名称。 我正在编程。 以下是我的代码 – * AppDelegate-: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. windowLayout() application.statusBarStyle = .lightContent return true } func windowLayout() { window = UIWindow(frame: UIScreen.main.bounds) window?.makeKeyAndVisible() let layout = UICollectionViewFlowLayout() window?.rootViewController = UINavigationController(rootViewController: HomeController(collectionViewLayout: layout)) UINavigationBar.appearance().barTintColor = UIColor(colorLiteralRed: 238/255, green: […]

如何将数据传递给embedded在TableViewCell中的UICollectionView(xCode – iOS – Swift 3)

我在TableViewCell中实现了一个CollectionView,但是我需要为CollectionView上的单元格读取dynamic数据。 我可以从类TableViewCell读取扩展数据,也许可以帮助我从ViewController传递数据到类TableViewCell。 class MultipleTableViewCell: UITableViewCell { @IBOutlet fileprivate weak var collectionView: UICollectionView! } extension MultipleTableViewCell : UICollectionViewDataSource { func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return 3 // array.count } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "foodCell", for: indexPath) as! UserCollectionViewCell let dict = […]

问题与UITableView:行动只能每隔一次

我有一个与UITableViewController的问题:表视图显示,但didDeselectRowAt将仅在触摸一个单元格时每隔一秒被调用。 有没有人看到这个代码的问题? import UIKit import MediaPlayer class LibraryTableViewController: UITableViewController{ let mediaItems = MPMediaQuery.songs().items override func viewDidLoad() { super.viewDidLoad() self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell") } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return mediaItems!.count } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) cell.textLabel?.text […]

如何正确使用VarArgs本地化string?

我有一个string扩展,可以帮助我国际化。 public extension String { var localized: String { return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: "") } func localized(args:CVarArg…) -> String{ return NSString.localizedStringWithFormat(self.localized as NSString, args) as String } } 这样,我可以轻松地使用“hello_world”.localized在应用程序的任何地方,它很好地工作。 现在我想拥有相同的function,但也希望能够传递参数。 然而通过'CVarArg …'似乎并不像我预期的那样工作。 "grant_gps_access".localized("MyApp") 预期结果: “请授予MyApp GPS接入权限” 实际结果: “请授予(\ n MyApp \ n)GPS接入” 我在这里错过了什么?

如何将重写函数插入到if语句中

我意识到,用基本的逻辑,我不能把重写函数放入if语句中,因为它会覆盖所有的东西。 但是,我仍然需要在if else语句中为segue做准备。 所以我工作的代码的方式是,如果用户点击一个button两次,他们赢得了游戏,因此去赢家视图控制器显示分数。 如果他们输了,他们会去看video控制器,没有得分。 所以我需要把重写函数segue在updateTimer() ,在else if counter < 9.9 && level == 2部分。 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let DestViewController : winViewController = segue.destination as! winViewController DestViewController.LebelText = labelx.text! } func updateTimer() { counter += 0.1 labelx.text = String(format: "%.1f", counter) if counter > 10 && level < 2 { […]

快速旋转VLCPlayer中的电影时,完全旋转横向视图3

我想在电影播放时旋转我的视图控制器。 我的问题可能是重复的,但当我发现堆栈溢出时,我尝试了很多方法。 但是所有的代码都不起作用。 可能是我把代码以错误的方式。 override var shouldAutorotate: Bool { return false } override var supportedInterfaceOrientations: UIInterfaceOrientationMask { //return[.portrait,.landscapeRight] return .landscapeLeft } override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation { //return UIInterfaceOrientation.landscapeRight return .landscapeLeft } 我把这个代码到vlcplayerviewcontroller.swift文件。 当用户点击播放button时,它会去vlcplayerviewcontroller.swift,我想自动显示在横向模式的电影。 我不知道我该怎么做。 我的参考链接是如何将一个视图控制器的方向仅在Swift中locking到肖像模式 。

AVPlayerViewController不播放本地video

我在我的项目中添加了一个DemoVideo.mp4,并将其添加到复制资源文件。 但是,当我运行该应用程序,它不会播放我的video。 这是我的方法。 private func setUpAndPlayVideo() { guard let videoPath = Bundle.main.path(forResource: "DemoVideo.mp4", ofType: nil) else { return } let videoURL = NSURL(string: videoPath) let player = AVPlayer(url: videoURL! as URL) playerViewController = AVPlayerViewController() playerViewController.player = player playerViewController.view.frame = self.videoPlayerView.bounds self.videoPlayerView.addSubview(playerViewController.view) playerViewController.showsPlaybackControls = false playerViewController.player?.play() } 我在viewDidAppear方法中调用此方法,但它显示此。

我如何使用循环来收割swift3中的一个动作函数

我的下面的代码是一个计时器。 一旦达到2秒钟,就会出现一个button。 现在,如果你按下button,永远消失。 我希望button在10秒后重新出现。 通过10秒后,我想覆盖如果在2和9范围内selectbutton消失的行动。 import UIKit class ViewController: UIViewController { @IBOutlet var Rest: UIButton! @IBOutlet var start: UIButton! var timer = Timer() var counter = 0.0 var isRunning = false var level = 0 override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } @IBOutlet var dx: UILabel! override func viewDidLoad() { super.viewDidLoad() dx.text = "\(counter)" […]

Swift:传递参数给select器

使用Swift 3,Xcode 8.2.1 方法: func moveToNextTextField(tag: Int) { print(tag) } 下面的tag行编译正常,但tag有一个未初始化的值: let selector = #selector(moveToNextTextField) Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: selector, userInfo: nil, repeats: false) 不过,我需要传递一个参数。 下面不能编译: let selector = #selector(moveToNextTextField(tag: 2)) Swift Compile Error: Argument of #selector does not refer to an @objc method, property, or initializer. 我如何将parameter passing给select器?

我从JSON Web服务获取数据,但无法显示在我的用户界面上

在这里我有问题,我能够从JSON Web服务获取数据,但无法显示在我的用户界面程序中,我提到我得到的错误,什么也提到有什么可以帮助我吗? class DetailsViewController: UIPageViewController{ @IBOutlet var navigationBar: UINavigationBar! @IBOutlet var imageView: UIImageView! @IBOutlet var pageControl: UIPageControl! @IBOutlet var nameLabel: UILabel! @IBOutlet var priceLabel: UILabel! @IBOutlet var textview: UITextView! var productName :String? var productprice :String? var productdescription :String? var thumbnailimageArray = [String]() var imageArray = [String]() var pageIndex: Int = 0 let urlString = "http://www.json-generator.com/api/json/get/cjpberBhKa?indent=2" […]