我在 SwiftUI 2.0 和 iOS14 中遇到了非常奇怪的行为。
当键盘出现在屏幕上时,会自动调用其他选项卡视图的 OnAppear 方法。
但是,这很好用 Xcode 11.7
这是产生上述错误的代码。
struct ContentView: View {
var body: some View {
TabView {
DemoView(screenName: "Home")
.tabItem {
Image.init(systemName: "star.fill")
Text("Home")
}
DemoView(screenName: "Result")
.tabItem {
Image.init(systemName: "star.fill")
Text("Result")
}
DemoView(screenName: "More")
.tabItem {
Image.init(systemName: "star.fill")
Text("More")
}
}
}
}
struct DemoView:View {
@State var text:String = ""
var screenName:String
var body: some View {
VStack{
Text(screenName)
.font(.title)
TextField("Buggy Keyboard Issue", text: $text)
.textFieldStyle(RoundedBorderTextFieldStyle())
Text("Issue : When keyboard …Run Code Online (Sandbox Code Playgroud) 在swift中,我试图创建一个允许按钮启用的文本字段,但仅当文本字段包含整数时.我怎样才能做到这一点?
我在 AppBar() 中使用 TextField 小部件
有一个问题,正如您所看到的,当文本字段聚焦时我无法设置光标颜色
通常,文本字段光标在聚焦时会闪烁。
我设置了光标颜色属性、应用程序栏、文本字段中的每个颜色属性,但它不起作用,即使文本字段提示文本也不起作用。
appBar: AppBar(
title: Card(
margin: EdgeInsets.only(
top: common_gap * 1.5, bottom: common_gap * 1.5),
child: TextField(
cursorColor: Constants.kPrimaryOrange,
controller: _controller,
focusNode: _focusNode,
onChanged: (value) {
setState(() {
_searchText = value;
});
},
decoration: InputDecoration(
prefixIcon: Icon(
Icons.search,
size: 20,
),
suffixIcon: _controller.text.length != 0
? IconButton(
icon: Icon(
Icons.cancel,
size: 20,
color: _searchText == ''
? Colors.transparent
: Colors.black87,
),
onPressed: () {
setState(() {
_controller.clear();
_searchText = '';
_focusNode.unfocus();
});
}, …Run Code Online (Sandbox Code Playgroud) 如果我有一个月的2月,我怎样才能让下面的代码工作?目前它已经到了那天,然后在到达if之前停下来确定它是否是闰年.
if (month == 2) {
if (day == 29) {
if (year % 4 != 0 || year % 100 == 0 && year % 400 != 0) {
field.focus();
field.value = month +'/' + '';
}
}
else if (day > 28) {
field.focus();
field.value = month +'/' + '';
}
}
Run Code Online (Sandbox Code Playgroud) 我有点困惑如何更改文本字段的提示颜色.有人可以指导我怎么做.谢谢
child: TextField(
style: TextStyle(fontSize: 20),
decoration: InputDecoration(
hintText: "Password",
border: new OutlineInputBorder(
borderSide: new BorderSide(
color: Colors.teal,
),
),
prefixIcon: const Icon(
Icons.security,
color: Colors.white,
),
),
),
Run Code Online (Sandbox Code Playgroud) 我正在研究iPhone中的文本到语音应用程序,
其中有一个文本字段输入,我希望用户从文本字段中选择一部分文本,我的应用程序将所选文本转换为语音.
我的问题是我如何获得用户从文本字段中选择的文本?
我正在使用Jasper报告5.2,iReport 5.2并以RTF和PDF格式导出报告.
在我的报告中,我想添加几个文本字段以及水平对齐的(静态文本)标签
Name: $F{name}
Age: $F{age}
Date of Birth: $F{dateOfBirth}
Run Code Online (Sandbox Code Playgroud)
但是我无法调整它们.这是我试过的
图像显示了我得到的和我想要的东西.此外,我的文本字段的内容是动态的,即内容大小可能会有所不同.

我已经阅读了很多论坛但找不到解决方案,请提出建议.
谢谢
我有一个 Flutter 应用程序,它在所有方面都正常运行,除非我选择了 TextField(或 TextFormField)。当我选择 TextField 时,光标在 TextField 中闪烁,但我无法键入任何内容,并且 AppBar 中的所有其他按钮(如 floatingActionButton 和后退按钮)停止工作。从本质上讲,该应用程序似乎已冻结,但我没有收到任何错误消息。
在包含 FocusNodes 和 TextEditingControllers 的两个不同页面中多次尝试解决该问题后,我通过直接从 Flutter 的网站合并一个带有代码的新页面返回到第一个,但是这个准系统代码中的 TextField 仍然锁定了应用程序。
import 'package:flutter/material.dart';
class EventDetailForm extends StatefulWidget {
static const String routeName = "/events/event-detail-form";
@override
_EventDetailFormState createState() => _EventDetailFormState();
}
class _EventDetailFormState extends State<EventDetailForm> {
final myController = TextEditingController();
@override
void dispose() {
myController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Event Detail')),
body: Padding(
padding: const EdgeInsets.all(16),
child: TextField(
controller: myController,
)),
floatingActionButton: FloatingActionButton( …Run Code Online (Sandbox Code Playgroud) 我只需要允许用户在textinput中输入以下字符:
A-ZA-Z0-9 @#$%^*_!|
<form action="http://www.cknuckles.com/cgi/echo.cgi" method="get" name="logOn">
User Name:<br />
<input type="text" name="userName" size="25" /><br />
Password:<br />
<input type="password" name="pw" size="25" /><br />
<input type="submit" value="Log In" onClick="validate()"/>
</form>
Run Code Online (Sandbox Code Playgroud)
上面是我的HTML,下面是我试图用来验证它的JavaScript - 但它不起作用 - 任何线索.
<script language="javascript">
document.logOn.onsubmit=validate;
function validate(){
var name=document.logOn.pw.value;
if(!name = "[a-zA-Z0-9!@#$%^*_|]"){
alert("Your Password Cant Have any thing other than a-zA-Z0-9!@#$%^*_| - Play It Straight!");
return false;
}
return true;
}
</script>
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我仍然可以把字符放在">","<"和"{"等中.
有什么想法吗?
我正在使用TextField组件来捕获电话号码.当用户输入时,如果条目不是数字或者不遵循格式并且显示错误文本,我想使条目无效.目前,即使不触及该字段,也会显示errorText.我怎样才能实现这种行为?
任何帮助是极大的赞赏.