相关文章推荐
成熟的橡皮擦  ·  spring data ...·  1 年前    · 
奔跑的草稿纸  ·  Java ...·  2 年前    · 

接受用户文本输入是通过单行输入完成 UITextField 的,UITextView 用于多行可编辑文本。 可以将其中任一控件拖到屏幕上,然后双击以设置初始文本。

下面的屏幕截图显示了这些控件的图标,位于Visual Studio for Mac中的工具箱板中:

命名并保存 Storyboard 文件后,Visual Studio for Mac将更新 .designer.cs 分部类,并且可以添加 C# 代码,用于将控件引用到类文件。 每个控件都有自己的唯一属性和事件,可在 C# 代码中访问。

UITextField

控件 UITextField 最常用于接受单行文本输入,例如用户名或密码。 此处显示了可用于自定义控件的一些选项:

下面介绍了这些控件:

  • 占位符 – 这是可选的。 如果设置,则会在文本字段为空时显示,通常向用户解释预期的输入。
  • 清除按钮 – 此控件控制标准清除按钮何时 (带有 (X) ) 的灰色圆圈出现在文本字段中,以便用户快速清除文本。 它可以永久隐藏、永久可见或显示,具体取决于是否正在编辑字段。
  • 最小字号 调整为适合 - 允许自动调整字号以适应较长的文本并防止截断,但限制为不超过指定大小。
  • 大写 - 是自动大写单词、句子还是所有输入。
  • 更正 - 是否启用拼写检查和建议。
  • 键盘 – 控制为输入显示的键盘样式,从而控制键盘上可用的键。 这包括 Number Pad、电话 Pad、Email、URL 以及其他选项。
  • 外观 – 控制键盘的外观样式,并且将采用深色或浅色主题。
  • 返回键 – 更改返回键上的标签以更好地反映将执行的操作。 支持的值包括 Go、Join、Next、Route、Done 和 Search。
  • 安全 – 标识输入是否 (屏蔽输入,例如密码输入) 。
  • 如果调用 textfield1 的 UITextField 已添加到具有设计器的屏幕,则可以在 C# 中设置或更改其属性,如下所示:

    textfield1.Placeholder = "type email here...";
    textfield1.KeyboardType = UIKeyboardType.EmailAddress;
    textfield1.ReturnKeyType = UIReturnKeyType.Send;
    textfield1.MinimumFontSize = 17f;
    textfield1.AdjustsFontSizeToFitWidth = true;
    

    Xamarin.iOS 提供适当的枚举,以便轻松选择所需的设置,例如 UIKeyboardType 上述代码片段中的设置 UIReturnKeyType

    以编程方式显示文本

    如果不想使用设计器设计屏幕,或者想要在运行时动态添加某些文本,则可以在 ViewDidLoad 视图控制器的方法中以编程方式创建和显示 UITextField,如下所示:

    var frame = new CGRect(10, 10, 300, 40);
    textfield1 = new UITextField(frame);
    View.Add(textfield1);
    

    UITextView

    UITextView 控件可用于显示只读文本或接受多行文本输入。 它有许多与 (相同的选项 UITextField ,例如大写、更正等) 。

    特定属性包括:

  • 行为 - 文本是可编辑还是只读。
  • 检测 – 检测输入的数据并将其转换为可单击的元素,例如可以触发呼叫的电话号码、成为指向地图的链接的地址、在 Safari 中打开的 URL 或日历中成为事件的日期和时间。
  • 如果使用设计器将 UITextView 添加到屏幕,则可以设置或更改其属性,如下所示:

    textview1.Text = "Lorem ipsum..."; // lots of text can go here
    textview1.Editable = true;
    textview1.DataDetectorTypes = UIDataDetectorType.PhoneNumber | UIDataDetectorType.Link;
    
  • 控件 (示例)
  •