我很好奇,如何在形式日期排序Strings在array。我很可能会以相同的方式离开他们,array并sort以正确的方式离开他们。我见过的许多尝试都是两次。另外,它们也不是正确的时间格式,因此我想知道如何使用该"dd.MM.yyyy"格式对其进行排序。很可能只有一年的最后两个数字。那可能吗?
这是我所做的。我希望它采用结构中的日期进行排序:
import UIKit
struct Post {
var title: String
var date: String
var user: String
}
var uploadTimes = [Post(title: "Hello", date: "02.10.2018", user: "Roman"),
Post(title: "Hi", date: "01.10.2018", user: "Roman"),
Post(title: "", date: "05.09.2018", user: "")]
uploadTimes = uploadTimes.map{ $0.components(separatedBy: ".").reversed().joined(separator: ".")}
print(uploadTimes)
//["2002.02.02", "2002.02.03", "2002.02.05", "2002.02.04"]
let isoFormatter = ISO8601DateFormatter()
isoFormatter.formatOptions = [.withFullDate,]
let dates = uploadTimes.compactMap { isoFormatter.date(from: $0) }
print(dates)
let sortedDates = dates.sorted { …Run Code Online (Sandbox Code Playgroud) 在我的项目中,我有一个带有按钮的导航栏来打开一个幻灯片菜单。现在我正在尝试设置标题图像而不是标题字符串。图像不太可能被稍微向右推,而不是居中。我认为是因为导航栏左角的滑动菜单按钮。如果我在 main.storyboard 中设置了一个标题,一切都会正常显示。为什么会这样,我的图像不会居中。
图像功能:
func addNavBarImage() {
let navController = navigationController!
let image = UIImage(named: "TransparentLogo")
let imageView = UIImageView(image: image)
let bannerWidth = navController.navigationBar.frame.size.width
let bannerHeight = navController.navigationBar.frame.size.height
let bannerX = bannerWidth - image!.size.width
let bannerY = bannerHeight - image!.size.height
imageView.frame = CGRect(x: bannerX, y: bannerY, width: bannerWidth, height: bannerHeight)
imageView.contentMode = .scaleAspectFit
navigationItem.titleView = imageView
}
Run Code Online (Sandbox Code Playgroud)
按钮功能:
func addSlideMenuButton(){
let btnShowMenu = UIButton(type: UIButton.ButtonType.system)
btnShowMenu.setImage(self.defaultMenuImage(), for: UIControl.State())
btnShowMenu.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
btnShowMenu.addTarget(self, …Run Code Online (Sandbox Code Playgroud)