我的应用程序内部有一个导航控制器和一个集合视图。有一个问题:我在导航栏中使用大标题,因此里面的所有内容都不是静态的。当我滚动集合视图单元格时,标题(我手动创建了该标题,并使用UILabel()它在导航栏中随意移动它)和按钮向上移动,导航栏采用iOS 10导航栏的形式,即其高度。你可以在这里看到它:
我的导航栏带有“首选大标题”的正常状态开:

当我滚动“收藏夹视图”时,一切都会发生:

所以问题很简单:如何使导航条的力保持恒定的高度?我希望它即使在滚动时也能固定。有什么想法吗?可能吗?
第二个问题,如果第一个是不可能的:我的问题的另一种解决方案是使“优先选择大标题”的导航栏更大。我尝试了这段代码:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let height: CGFloat = 50 //whatever height you want to add to the existing height
let bounds = self.navigationController!.navigationBar.bounds
self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: bounds.height + height)
}
Run Code Online (Sandbox Code Playgroud)
但它仅适用于大标题。那么如何使导航栏更大?
我试图使用Devise gem在RoR应用程序中获取最后一次登录日期时间.在我的一个迁移文件中,我注意到了# t.datetime :last_sign_in_at其他字段:
## Trackable
# t.integer :sign_in_count, default: 0, null: false
# t.datetime :current_sign_in_at
# t.datetime :last_sign_in_at
# t.string :current_sign_in_ip
# t.string :last_sign_in_ip
Run Code Online (Sandbox Code Playgroud)
所以问题是:如何为我的用户激活此字段,以便稍后在我的应用程序中调用它?我应该取消注释吗?
Swift 中有没有方便的方法来表示,例如,15 个月大于 1 年,1 周小于 10 天?我觉得DateComponents最能代表我的需求,所以我需要这样的东西:
DateComponents(year: 1) > DateComponents(month: 15) // => false
DateComponents(day: 10) > DateComponents(weekOfMonth: 1) // => true
Run Code Online (Sandbox Code Playgroud)
但据我了解,目前在 swift DateComponents 中是不具有可比性的(二元运算符“>”不能应用于两个“DateComponents”操作数)。
所以也许任何人都可以帮助我找到纯粹的快速解决方案,或者使用一些库?先感谢您!
我使用以下代码通过UserDefaults存储应用设置:
var appSettings: [String: String?] {
set { // On attempt to set new value for the dictionary
UserDefaults.standard.set(newValue, forKey: "AppSettings")
UserDefaults.standard.synchronize()
}
get { // On attempt to get something from dictionary
if let settings = UserDefaults.standard.array(forKey: "AppSettings") as? [String: String?] {
return settings
} else {
return [:]
}
}}
Run Code Online (Sandbox Code Playgroud)
但是行if let settings = UserDefaults.standard.array(forKey: "AppSettings") as? [String: String?]导致警告:
从“ [任何]?”演员表 无关类型“ [String:String?]”始终失败
有什么想法如何在UerDefaults中保存此词典?