小编Bol*_*ion的帖子

UITabBar 图标未正确显示

我正在开发一个 iOS 应用程序。我有一个带有 5 个视图控制器的选项卡栏。所有图标都在情节提要中设置:

在此输入图像描述

当我启动应用程序时,2 个都搞砸了。Home(第一个 TabBar 视图控制器)几乎丢失了,最后一个(消息)甚至看起来都不像应有的样子。我不知道发生了什么事。主选项卡栏图标完全消失,未选择的消息图标看起来也不一样。

我可以向你保证所有图标都在 Assets 文件夹中。 在此输入图像描述

但当我启动应用程序时,它看起来像这样:

在此输入图像描述 在此输入图像描述

更新:我找出了消息选项卡栏项目(渲染为:原始图像解决了这个问题)。这是固定的。但首页项目仍然没有显示。

xcode uitabbarcontroller uitabbaritem ios

2
推荐指数
1
解决办法
3689
查看次数

UIStatusBarStyle 不会改变

我正在开发一个 swift 应用程序,我想UIStatusBarStyle根据应用程序的主题进行更改(有 2 个选项 - 浅色和深色主题)。我已View controller-based status bar appearanceNOinfo.plist,并在UIViewController我试图根据当前的主题,像这样进行设置:

override var preferredStatusBarStyle: UIStatusBarStyle {
    return Theme.current.statusBarStyle
}


protocol ThemeProtocol { 
    // Status Bar
    var statusBarStyle: UIStatusBarStyle { get } 
}

class Theme {
    static var current: ThemeProtocol = LightTheme()
}

class LightTheme: ThemeProtocol {
    // Status Bar 
    var statusBarStyle: UIStatusBarStyle = .default

}

class DarkTheme: ThemeProtocol {
    // Status Bar 
    var statusBarStyle: UIStatusBarStyle = .lightContent

}
Run Code Online (Sandbox Code Playgroud)

真的没有结果。我试图通过仅返回来测试它:return …

uistatusbar swift

2
推荐指数
1
解决办法
3150
查看次数

在 Swift 中更新用户的 Firebase 密码

我有一个UITableViewController,我希望用户能够使用新密码更改他们当前的密码。

该视图非常简单 - 2UITextFields我希望他们输入当前密码,另一个输入他们想要的新密码。

问题是我在 Firebase 的文档中找不到这样做的方法。有谁知道如何做到这一点?

PS:忽略它说“更新您的电子邮件”,这将被修复。

在此处输入图片说明

ios firebase swift firebase-authentication

2
推荐指数
1
解决办法
3846
查看次数

在 Swift 中的 X-Auth-Token 中添加 API 密钥?

我正在使用此网站 Football-data.org API 来获取 JSON 数据。

但是,除非您获得 API 密钥并集成它,否则每天的请求数限制为 50 个。我很乐意这样做,问题是我不知道该怎么做。

我已经注册并获得了我的 API 密钥,并且在电子邮件中还提到:

请修改您的客户端以使用名为“X-Auth-Token”的标头字段,并将下面的个人令牌作为值。

您的API令牌:4180b1645f624408b6291349204122344

他给出了其他编程语言的示例代码,例如 PHP:

<?php
$uri = 'http://api.football-data.org/alpha/soccerseasons/354/fixtures/?matchday=22';
$reqPrefs['http']['method'] = 'GET';
$reqPrefs['http']['header'] = 'X-Auth-Token: YOUR_TOKEN';
$stream_context = stream_context_create($reqPrefs);
$response = file_get_contents($uri, false, $stream_context);
$fixtures = json_decode($response);
?>
Run Code Online (Sandbox Code Playgroud)

但这对我来说毫无意义。

我们如何在 Swift 中做到这一点?我试图用谷歌搜索但找不到任何东西。

http-headers access-token swift

1
推荐指数
1
解决办法
6108
查看次数

从视频生成缩略图最终总是在 UIImageView 中旋转

我用来UIImagePickerController从用户的图库中选择视频或图像。对于照片来说,没有问题,一切都按其应有的方式显示。当我尝试生成视频缩略图时,问题就出现了。

基本上,缩略图最终可能会颠倒显示或向左或向右 90 度显示。我不知道为什么会发生这种情况。我错过了什么或者做错了什么吗?

extension PostVC : UIImagePickerControllerDelegate, UINavigationControllerDelegate {

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    if let videoUrl = info[UIImagePickerController.InfoKey.mediaURL] as? URL {
        if let thumbnail = self.generateThumbnailForImage(videoUrl) {
            self.videoUrl = videoUrl
            self.photoImageView.image = thumbnail
            self.selectedImage = thumbnail
        }
    }
    if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
        selectedImage = image
        photoImageView.image = image
        shareButton.isEnabled = true
    }
    dismiss(animated: true, completion: nil)
}

func generateThumbnailForImage(_ fileUrl: URL) -> UIImage? {
    let asset = …
Run Code Online (Sandbox Code Playgroud)

avfoundation uiimagepickercontroller ios avasset swift

1
推荐指数
1
解决办法
705
查看次数

从 UICollectionViewCell 中删除单元格和相应的图像?

我有一个UICollectionView带有自定义的水平UICollectionViewCell。每个单元格都有一个UIImageView,显示用户选择的图像。现在,我想做的是在每个单元格的角落添加一个删除按钮(或图像?),当单击它时,它会从数组和单元格本身中删除相应的图像。我有两个问题:

  1. 如何以编程方式添加按钮/图像功能(我真的不想弄乱故事板)
  2. 如何实现相应的删除功能UIViewController

像这样的东西:

在此输入图像描述

这是我的自定义单元格类:

class PhotoCell: UICollectionViewCell, UIGestureRecognizerDelegate
{
    @IBOutlet weak var cellImage: UIImageView!

    override func awakeFromNib()
    {
        super.awakeFromNib()
        setupUI()
    }

    func setupUI()
    {
        cellImage.layer.cornerRadius = 5
        cellImage.clipsToBounds = true
        cellImage.contentMode = .scaleAspectFill
    }
}
Run Code Online (Sandbox Code Playgroud)

这是整个View Controller的代码

   import UIKit
    import SDWebImage
    import Photos
    import AssetsPickerViewController
    import SVProgressHUD

    class PhotoVC: UIViewController
    {
        // MARK: IBOutlets
        @IBOutlet weak var collectionView: UICollectionView!
        @IBOutlet weak var postButton: UIButton!
        @IBOutlet weak var userProfileImage: UIImageView!
        @IBOutlet …
Run Code Online (Sandbox Code Playgroud)

uiimageview ios uicollectionview uicollectionviewcell swift

0
推荐指数
1
解决办法
3159
查看次数

UITapGestureRecognizer静态方法崩溃

我有一个带有多个custom UICollectionViewCell的快捷应用程序。所有细胞都有多个对象(无论是UIImageViewUILabel),用户可以点击(因此,我使用多个UITapGestureRecognizers到调用相应的行动。现在,为了减轻我的工作,使代码少重复,我想创造一个extensionUITapGestureRecognizerstatic我可以直接在类上调用的方法。

我确实做到了,但是应用程序崩溃的事实意味着有些事情我做得不好。这是我的代码:

extension UITapGestureRecognizer {
    static func addNewTapGuestureRecognizer(for imageView: UIImageView, selectorName: Selector) {
        let tap = UITapGestureRecognizer(target: self, action: selectorName)
        imageView.addGestureRecognizer(tap)
        imageView.isUserInteractionEnabled = true
    }

    static func addNewTapGuestureRecognizer(for label: UILabel, selectorName: Selector) {
        let tap = UITapGestureRecognizer(target: self, action: selectorName)
        label.addGestureRecognizer(tap)
        label.isUserInteractionEnabled = true
    }
}

class TextCVC: UICollectionViewCell {

    override func awakeFromNib() {
        super.awakeFromNib()
        addTapGuesturesForImagesAndLabels()
    }

    func addTapGuesturesForImagesAndLabels() {
        UITapGestureRecognizer.addNewTapGuestureRecognizer(for: postActionShareImageVIew, selectorName: #selector(self.shareImageTapped))
        UITapGestureRecognizer.addNewTapGuestureRecognizer(for: postActionLikeImageVIew, …
Run Code Online (Sandbox Code Playgroud)

ios uitapgesturerecognizer uicollectionviewcell swift

0
推荐指数
1
解决办法
85
查看次数

从Array中获取随机唯一元素,直到在Swift中选择了所有元素

我有以下数组:

var notebookCovers = ["cover1", "cover2", "cover3", "cover4", "cover4", "cover6", "cover7", "cover8", "cover9", "cover10"]
Run Code Online (Sandbox Code Playgroud)

并且UIButton当它被按下时,它会生成一个UIImage带有数组元素的新元素.

我需要做的是每次按下按钮以从数组中生成随机但唯一的元素(不重复元素),直到它们全部被选中,然后再次重新启动数组.

到目前为止,我有一个随机元素,但它重复,我无法弄清楚如何它,所以它每次都获得一个独特的图像

func createNewNotebook() {
    let newNotebook = Notebook()
    let randomInt = randomNumber()
    newNotebook.coverImageString = notebookCovers[randomInt]
    notebooks.insert(newNotebook, at: 0)
    collectionView.reloadData()
}

func randomNumber() -> Int {
    var previousNumber = arc4random_uniform(UInt32(notebookCovers.count))   
    var randomNumber = arc4random_uniform(UInt32(notebookCovers.count - 1)) 
    notebookCovers.shuffle()
    if randomNumber == previousNumber {
        randomNumber = UInt32(notebookCovers.count - 1)
    }
    previousNumber = randomNumber
    return Int(randomNumber)
}
Run Code Online (Sandbox Code Playgroud)

arrays ios swift

-1
推荐指数
1
解决办法
138
查看次数