我正在开发一个 iOS 应用程序。我有一个带有 5 个视图控制器的选项卡栏。所有图标都在情节提要中设置:
当我启动应用程序时,2 个都搞砸了。Home(第一个 TabBar 视图控制器)几乎丢失了,最后一个(消息)甚至看起来都不像应有的样子。我不知道发生了什么事。主选项卡栏图标完全消失,未选择的消息图标看起来也不一样。
但当我启动应用程序时,它看起来像这样:
更新:我找出了消息选项卡栏项目(渲染为:原始图像解决了这个问题)。这是固定的。但首页项目仍然没有显示。
我正在开发一个 swift 应用程序,我想UIStatusBarStyle
根据应用程序的主题进行更改(有 2 个选项 - 浅色和深色主题)。我已View controller-based status bar appearance
到NO
的info.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 …
我有一个UITableViewController
,我希望用户能够使用新密码更改他们当前的密码。
该视图非常简单 - 2UITextFields
我希望他们输入当前密码,另一个输入他们想要的新密码。
问题是我在 Firebase 的文档中找不到这样做的方法。有谁知道如何做到这一点?
PS:忽略它说“更新您的电子邮件”,这将被修复。
我正在使用此网站 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 中做到这一点?我试图用谷歌搜索但找不到任何东西。
我用来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) 我有一个UICollectionView
带有自定义的水平UICollectionViewCell
。每个单元格都有一个UIImageView
,显示用户选择的图像。现在,我想做的是在每个单元格的角落添加一个删除按钮(或图像?),当单击它时,它会从数组和单元格本身中删除相应的图像。我有两个问题:
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) 我有一个带有多个custom UICollectionViewCell
的快捷应用程序。所有细胞都有多个对象(无论是UIImageView
或UILabel
),用户可以点击(因此,我使用多个UITapGestureRecognizer
s到调用相应的行动。现在,为了减轻我的工作,使代码少重复,我想创造一个extension
的UITapGestureRecognizer
用static
我可以直接在类上调用的方法。
我确实做到了,但是应用程序崩溃的事实意味着有些事情我做得不好。这是我的代码:
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) 我有以下数组:
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) swift ×7
ios ×6
access-token ×1
arrays ×1
avasset ×1
avfoundation ×1
firebase ×1
http-headers ×1
uiimageview ×1
uistatusbar ×1
uitabbaritem ×1
xcode ×1