小编Ego*_*kov的帖子

iOS中的静态/固定导航栏

我的应用程序内部有一个导航控制器和一个集合视图。有一个问题:我在导航栏中使用大标题,因此里面的所有内容都不是静态的。当我滚动集合视图单元格时,标题(我手动创建了该标题,并使用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)

但它仅适用于大标题。那么如何使导航栏更大?

uinavigationcontroller ios swift

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

如何将追踪添加到现有的Devise设置?

我试图使用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)

所以问题是:如何为我的用户激活此字段,以便稍后在我的应用程序中调用它?我应该取消注释吗?

ruby ruby-on-rails devise ruby-on-rails-5

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

快速比较 DateComponents

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”操作数)。

所以也许任何人都可以帮助我找到纯粹的快速解决方案,或者使用一些库?先感谢您!

date nsdatecomponents swift

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

从“ [任何]?”演员表 到不相关的类型'[String:String?]'总是失败

我使用以下代码通过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中保存此词典?

nsuserdefaults ios swift

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