我正在使用Devise
和Rails 3
.
我想调用一个函数,只需验证用户username
和密码组合是否正确,而无需实际登录该用户.有没有办法用Devise来完成这样的事情:
User.authenticate(params[:username], params[:password])
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 aText
内部创建一个简单的堆栈,VStack
无论我做什么,即使我明确设置lineLimit(nil)
(尽管我现在知道这是默认设置),文本也会截断而不是换行。
我已经尝试layoutPriority(1)
在 VStack 中的第一个元素上进行设置,并且我也尝试frame(idealHeight: .greatestFiniteMagnitude)
按照其他一些帖子的建议进行设置,但似乎没有任何方法可以解决该问题。
以下是该问题的实际操作视频:
下面是一些重现问题的代码:
import SwiftUI
struct BugRepro: View {
@State var length: Double = 1.0
var body: some View {
VStack {
ForEach(0..<3) { i in
BugReproElement(index: i)
}
.background(Color.gray3)
.frame(width: UIScreen.main.bounds.width * CGFloat(length))
Slider(value: $length, in: 0.0...1.0)
}
}
}
struct BugRepro_Previews: PreviewProvider {
static var previews: some View {
BugRepro()
}
}
struct BugReproElement: View {
var index: Int
var body: some View …
Run Code Online (Sandbox Code Playgroud) 我想设置:active
由<a>
标签表示的按钮的状态.该<a>
标签具有内<span>
(怎么一回事,因为我要添加到该按钮的图标).
我注意到:active
除了Internet Explorer 8之外的所有内容都正确触发了状态.在IE 8中,看起来<span>
(<a>
填充)周围的区域触发了:active
状态,但是当直接点击其中的文本时<span>
,:active
状态不会被触发.
有没有办法解决这个问题而不诉诸Javascript?
<a class="button" href="#">
<span>Add a link</span>
</a>
Run Code Online (Sandbox Code Playgroud)
a.button { some styles }
a.button:active { some other styles }
Run Code Online (Sandbox Code Playgroud) TextField
如果它是常规的(即不在 上扩展的axis
),无论它是否包含在 a 中,自动键盘避免似乎都能正常工作。ScrollView
如果只是将TextField(_:text:axis)
其简单地放置在 a 中VStack
而不是包装在ScrollView
. 随着更多文本的高度扩展,它甚至会继续正确地避开键盘。
TextField(_:text:axis)
但如果它被放置在一个内部,我似乎无法避免使用键盘ScrollView
我可以采用一种老套的方法,即当焦点被聚焦时,使用ScrollViewReader
与 组合DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(400))
来包裹。当您第一次聚焦该领域时,这种方法有效,但我似乎无法在扩展时继续调整其位置。proxy.scrollTo()
TextField
ScrollView
TextField
这是一个例子:
struct KeyboardAvoidingView: View {
@State var text = ""
var body: some View {
ScrollViewReader { proxy in
ScrollView {
VStack {
Color.red
.frame(height: 400)
Color.blue
.frame(height: 400)
TextField("Name", text: $text, axis: .vertical)
.padding(.vertical)
.onTapGesture {
DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(400)) {
withAnimation(.default) {
proxy.scrollTo(0)
} …
Run Code Online (Sandbox Code Playgroud) 我想使用a UIVisualEffectView
作为a 的背景,UINavigationBar
因为它实现的效果不同于简单地设置translucent = true
UINavigationBar.
我通过继承UINavigationController
并将其添加到其中来完成此操作viewDidLoad()
visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Dark))
visualEffectView.autoresizingMask = [.FlexibleHeight, .FlexibleWidth]
navigationBar.addSubview(visualEffectView)
navigationBar.sendSubviewToBack(visualEffectView)
Run Code Online (Sandbox Code Playgroud)
该UIVisualEffectView
看上去很好,而且在我的导航正常工作的其他按钮,但内置的后退按钮(我没有定制)停止工作.我仍然可以滑动返回,但点击后退按钮不起作用.删除UIVisualEffectView
恢复后退按钮的功能.
我尝试检查Xcode中的视图层次结构,并且UIVisualEffectView
没有阻止后退按钮或类似的东西.
知道会发生什么吗?是否有更好的方法将其UIVisualEffectView
用作a的背景UINavigationBar
,还是需要进行其他设置?