Swift - 文本输入框(UITextField)的用法

Swift - 文本输入框(UITextField)的用法,第1张

1,文本框的创建,有如下几个样式:

UITextBorderStylenone:无边框

UITextBorderStyleline:直线边框

UITextBorderStyleroundedRect:圆角矩形边框

UITextBorderStylebezel:边线+阴影

圆角矩形边框样例:

1

2

3

4

lettextField = UITextField(frame: CGRect(x:10, y:60, width:200, height:30))

//设置边框样式为圆角矩形

textFieldborderStyle = UITextBorderStyleroundedRect

selfviewaddSubview(textField)

2,修改边框颜色、粗细、圆角半径

1

2

3

4

5

6

7

8

9

10

lettextField = UITextField(frame: CGRect(x:10, y:60, width:200, height:30))

//设置边框样式为圆角矩形

textFieldborderStyle = UITextBorderStyleroundedRect

selfviewaddSubview(textField)

//修改圆角半径的话需要将masksToBounds设为true

textFieldlayermasksToBounds = true

textFieldlayercornerRadius = 120  //圆角半径

textFieldlayerborderWidth = 20  //边框粗细

textFieldlayerborderColor = UIColorredcgColor //边框颜色

3,文本框提示文字

1textFieldplaceholder="请输入用户名"

4,文字大小超过文本框长度时自动缩小字号,而不是隐藏显示省略号

1

2

textFieldadjustsFontSizeToFitWidth=true//当文字超出文本框宽度时,自动调整文字大小

textFieldminimumFontSize=14  //最小可缩小的字号

5,水平/垂直对齐方式

1

2

3

4

5

6

7

8

9

/ 水平对齐 /

textFieldtextAlignment = right //水平右对齐

textFieldtextAlignment = center //水平居中对齐

textFieldtextAlignment = left //水平左对齐

/ 垂直对齐 /

textFieldcontentVerticalAlignment = top  //垂直向上对齐

textFieldcontentVerticalAlignment = center  //垂直居中对齐

textFieldcontentVerticalAlignment = bottom  //垂直向下对齐

6,背景设置

1

2

textFieldborderStyle = none //先要去除边框样式

textFieldbackground = UIImage(named:"background1");

7,清除按钮(输入框内右侧小叉)

1

2

3

textFieldclearButtonMode = whileEditing  //编辑时出现清除按钮

textFieldclearButtonMode = unlessEditing  //编辑时不出现,编辑后才出现清除按钮

textFieldclearButtonMode = always  //一直显示清除按钮

8,密码输入框

1textFieldisSecureTextEntry = true//输入内容会显示成小黑点

9,设置文本框关联的键盘类型

Default:系统默认的虚拟键盘

ASCII Capable:显示英文字母的虚拟键盘

Numbers and Punctuation:显示数字和标点的虚拟键盘

URL:显示便于输入url网址的虚拟键盘

Number Pad:显示便于输入数字的虚拟键盘

Phone Pad:显示便于拨号呼叫的虚拟键盘

Name Phone Pad:显示便于聊天拨号的虚拟键盘

Email Address:显示便于输入Email的虚拟键盘

Decimal Pad:显示用于输入数字和小数点的虚拟键盘

Twitter:显示方便些Twitter的虚拟键盘

Web Search:显示便于在网页上书写的虚拟键盘

数字键盘使用样例:

1textFieldkeyboardType = UIKeyboardTypenumberPad

10,使文本框在界面打开时就获取焦点,并d出输入键盘

1textFieldbecomeFirstResponder()

11,使文本框失去焦点,并收回键盘

1textFieldresignFirstResponder()

12,设置键盘 return 键的样式

1

2

3

4

5

6

textFieldreturnKeyType = UIReturnKeyTypedone //表示完成输入

textFieldreturnKeyType = UIReturnKeyTypego //表示完成输入,同时会跳到另一页

textFieldreturnKeyType = UIReturnKeyTypesearch //表示搜索

textFieldreturnKeyType = UIReturnKeyTypejoin//表示注册用户或添加数据

textFieldreturnKeyType = UIReturnKeyTypenext //表示继续下一步

textFieldreturnKeyType = UIReturnKeyTypesend //表示发送

以发送样式(send)为例:

13,键盘 return 键的响应

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

importUIKit

classViewController: UIViewController,UITextFieldDelegate{

    overridefuncviewDidLoad() {

        superviewDidLoad()

        lettextField = UITextField(frame: CGRect(x:10,y:160,width:200,height:30))

        //设置边框样式为圆角矩形

        textFieldborderStyle = UITextBorderStyleroundedRect

        textFieldreturnKeyType = UIReturnKeyTypedone

        textFielddelegate=self

        selfviewaddSubview(textField)

    }

    functextFieldShouldReturn(_ textField: UITextField) -> Bool{

        //收起键盘

        textFieldresignFirstResponder()

        //打印出文本框中的值

        print(textFieldtext "")

        returntrue

    }

}

如果您是开启了打补丁的功能,短时间有反映就等等。如果总是不动,这是打补丁时死机了,没有更好的方法,只有按开关机键关机在开机了(在不可以就要拔电源了,如果进不了系统就要重装了)。

系统打补丁的功能需要自动连网,这个功能本身也不好用,经常出错,没有更好的方法。

建议将自动更新关闭,用软件更新,自己的时间自己做主,现这的杀毒软件都有打补丁的功能,比如:360、金山、QQ电脑管家等。

关闭自动更新的方法:

控制面板/系统和安全/WindowsUpdate(左边)更改设置/把重要更新下面的选项改为,从不检查更新即可(Win78)。

String content = textfieldgetText(); //获取文本框文字;

String sql = "insert into 表名(字段名) values('"+content+"')";

Connection conn = getConnection(); //获取数据库连接 有很多方式,看下面的例子

Statement stmt = conncreateStatement(); 

stmtexecute(sql);  //执行sql语句。

stmtclose();

connclose();

下面这个例子是连接数据库的,你参考一下。

package comhudemo;

import javasqlConnection;

import javasqlDriverManager;

import javasqlPreparedStatement;

import javasqlSQLException;

public class DBHelper {

public static final String url = "jdbc:mysql://127001/student";

public static final String name = "commysqljdbcDriver";

public static final String user = "root";

public static final String password = "root";

public Connection conn = null;

public PreparedStatement pst = null;

public DBHelper(String sql) {

try {

ClassforName(name);//指定连接类型

conn = DriverManagergetConnection(url, user, password);//获取连接

pst = connprepareStatement(sql);//准备执行语句

} catch (Exception e) {

eprintStackTrace();

}

}

public void close() {

try {

thisconnclose();

thispstclose();

} catch (SQLException e) {

eprintStackTrace();

}

}

}

使用SwiftUI的TextField进一步封装的自定义组件

基于Xcode113,iOS13的项目

收起键盘时调用 onCommit 方法

实时获取输入内容 onChange 方法

遗留问题:

1、TextField不能设置returnKeyType属性(也许是没找到)。如果要使用这个属性的话,可以封装UITextField给swiftUI用。

2、SearchBar设置初始值时,在init方法给@State 修饰的searchText赋值时无效,已解决。

解决方法: 重新初始化State

3、上面实时获取输入内容依然采用的命令式的写法,如果使用相应式需配合 Combine ,可以参考这个 项目>

怎么会这样呢? Java程序只是为了处理这个问题,一些Java接口,不能使用Java编程,Java编程需要Java环境JDK才行。只能添加一些简单的语言支持库,更不会生存,所以它似乎并没有对其进行规制。

java中用getText()获取textfield内容,然后创建一个save方法保存内容即可。

save方法内容如下:

void saveToFile(String fileName, JTextField textField) throws Exception {

FileOutputStream out = new FileOutputStream(fileName, true);

outwrite(textFieldgetText()getBytes());

}

以上就是关于Swift - 文本输入框(UITextField)的用法全部的内容,包括:Swift - 文本输入框(UITextField)的用法、j2me中怎样获取TextField中的内容、求java如何将一个Textfield中的内容保存进数据库(只要怎么保存进数据库的这一部分代码)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9520910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存