我发现在许多重构中,我继承自UIViewController
而不是UITableViewController
,因此我缺少UITableViewController
提供的一些自动行为。但是,在交互式关闭键盘时,我仍然需要手动处理滚动视图插图。看到我更新的答案。
我正在尝试模拟iMessage,当用户将其拖到屏幕底部时如何关闭键盘。我可以解决一个困扰我的小视觉问题。
当将键盘从屏幕上拖动时,滚动指示器无法正确调整大小-直到完全将其关闭为止。
我使用键盘通知来告诉我何时出现键盘以增加内容并按键盘高度滚动插图。取消键盘后,似乎不需要执行任何操作,因为插入时似乎正确。但是,以交互方式关闭时,在拖动事件期间我无法更新插图。
为了说明问题,第一个图像显示由于键盘占用了空间,因此内容已滚动到屏幕顶部之外。用户已滚动到表格的最后一行:
在这里,键盘被关闭了,几乎完全不在屏幕上。但是,请注意滚动指示器的尺寸完全错误。现在所有内容几乎都在屏幕上,因此指示器应该伸展,但是,发生的情况是,当键盘向下移动时,滚动指示器向上移动而不伸展。这不是iMessage中发生的情况。
我认为我的工作很标准,我正在创建UIToolBar(iOS 8.3)并在我的视图控制器中覆盖以下方法:
override var inputAccessoryView: UIView {
return toolbar
}
override func canBecomeFirstResponder() -> Bool {
return true
}
func willShowKeyboard(notification: NSNotification) {
let keyboardFrame = notification.userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue
tableView.contentInset.bottom = keyboardFrame.CGRectValue().height
tableView.scrollIndicatorInsets.bottom = keyboardFrame.CGRectValue().height
}
Run Code Online (Sandbox Code Playgroud) 我一直试图了解SVN合并/重新整合并阅读这些文章/书籍:
http://svnbook.red-bean.com/en/1.5/index.html
http://blogs.open.collab.net/svn/2008/07/subversion-merg.html
我显然还没有得到它,因为我不明白为什么在合并回到主干(反射/循环合并)中包含同步修订是一个问题 - 我确实看到了不排除修订的理由.
如果主干上的文件A行合并到分支上的文件A'然后合并回主干,那么A和A'之间肯定没有区别,所以没有冲突?为什么"[合并] 返回已经存在于主干中的变化 "这个问题?
我正在尝试复制冲突场景,试图理解重新整合对我的影响,但更令我困惑的是这种情况:
我正在使用SmartSVN 6.6和SVN 1.6.合并修订范围与单独合并每个修订版时,为什么会有不同的结果?最终,为什么反思合并是一个问题?
我正在尝试重写最初使用 Spring 开发的应用程序。用户身份验证是通过 Spring Security 提供的,Spring Security 使用 Bcrypt 来生成和检查散列密码。
它们以如下所示的格式存储在数据库中。据我所知,它是这样表示的:
| |RR| Salt | Hashed Password |
$2a$10$Dh23I3CO6l1n3mOofdazreNLg2OHxzDrxyGGZEstTbITKs.cX3N/u
Run Code Online (Sandbox Code Playgroud)
(其中RR
是轮数)
我尝试将其迁移到新的表结构,如使用 4.6的哈希密码表示形式下的“表 3. 示例表”中所示。组件文档,例如:
NAME | PASSWORD | SALT |ITERATION_COUNT|
=====|=================================|========================|===============|
test | NLg2OHxzDrxyGGZEstTbITKs.cX3N/u | Dh23I3CO6l1n3mOofdazre | 10 |
Run Code Online (Sandbox Code Playgroud)
我已经配置了映射器,application.properties
如下所示:
quarkus.security.jdbc.principal-query.sql=SELECT u.password, u.salt, u.iteration_count FROM test_user u WHERE u.name=?
quarkus.security.jdbc.principal-query.bcrypt-password-mapper.enabled=true
quarkus.security.jdbc.principal-query.bcrypt-password-mapper.password-index=1
quarkus.security.jdbc.principal-query.bcrypt-password-mapper.hash-encoding=base64
quarkus.security.jdbc.principal-query.bcrypt-password-mapper.salt-index=2
quarkus.security.jdbc.principal-query.bcrypt-password-mapper.salt-encoding=base64
quarkus.security.jdbc.principal-query.bcrypt-password-mapper.iteration-count-index=3
Run Code Online (Sandbox Code Playgroud)
但是,我要么收到由无效的 base64 字符引起的错误(这并不完全令人惊讶,因为 Spring Security 中的实现声明它不是 MIME 兼容的 base64 实现),或者当该错误不存在时,它无法验证密码。
我如何才能将所有用户迁移到 Quarkus 使用的 Bcrypt 实现?
bcrypt ×1
ios ×1
keyboard ×1
quarkus ×1
revision ×1
scroll ×1
svn ×1
uiscrollview ×1
uitableview ×1