【问题标题】:Make Custom Text Fields制作自定义文本字段
【发布时间】:2015-08-07 08:58:36
【问题描述】:

我是 IOS 开发的初学者,现在我正在创建一个用户注册表单。但是,xcode 中默认的文本字段看起来并不漂亮,请任何人都可以告诉我如何在 Facebook 应用程序或 Lynda 应用程序中制作自定义文本字段。

【问题讨论】:

    标签: ios objective-c iphone xcode swift


    【解决方案1】:

    如果你想更改Storyboardxib 使用

    属性

    UITextField属性属性中有BorderStyle设置为None,你可以自定义宽高,你可以随意改变

    UITextBorderStyle 属性类型为

    UITextBorderStyleNone,
    UITextBorderStyleLine,
    UITextBorderStyleBezel,
    UITextBorderStyleRoundedRect
    

    如果设置为UITextBorderStyleRoundedRect,则忽略自定义背景图像。您可以自定义其他三项内容。

    其他apple Reference

    以编程方式

    Objective-C

    UITextField *txtEmailfield = [[UITextField alloc] initWithFrame:CGRectMake(10, 200, 300, 40)];
    txtEmailfield.font = [UIFont systemFontOfSize:15];
    txtEmailfield.placeholder = @"Email(Required)";
    txtEmailfield.autocorrectionType = UITextAutocorrectionTypeNo;
    txtEmailfield.keyboardType = UIKeyboardTypeDefault;
    txtEmailfield.returnKeyType = UIReturnKeyDone;
    txtEmailfield.clearButtonMode = UITextFieldViewModeWhileEditing;
    txtEmailfield.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    txtEmailfield.delegate = self;
    txtEmailfield.borderStyle=UITextBorderStyleNone;
    [self.view addSubview:txtEmailfield];
    

    斯威夫特

    var txtEmailfield = UITextField(frame: CGRectMake(10.0, 20.0, 300.0,40.0))
    txtEmailfield.backgroundColor = UIColor.redColor()
    txtEmailfield.borderStyle = UITextBorderStyle.None
    txtEmailfield.font=UIFont.systemFontOfSize(12)
    txtEmailfield.placeholder="Email(Required)"
    txtEmailfield.autocorrectionType=UITextAutocorrectionType.No
    txtEmailfield.keyboardType=UIKeyboardType.Default
    txtEmailfield.returnKeyType=UIReturnKeyType.Done
    txtEmailfield.delegate = self
    txtEmailfield.clearButtonMode=UITextFieldViewMode.WhileEditing
    txtEmailfield.contentVerticalAlignment=UIControlContentVerticalAlignment.Center
    self.view.addSubview(txtEmailfield)
    

    【讨论】:

    • 喜欢你发的照片能不能把代码发一下,让我有个清晰的思路
    • 如果您想在上图中以编程方式创建文本字段,例如
    【解决方案2】:

    UITextField 类中有多种属性可用于自定义文本字段。例如,borderStyle 属性可以自定义边框,无论您想要圆角矩形还是线条等。 通过以下链接: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/

    【讨论】:

      【解决方案3】:

      创建一个继承自UITextfield的子类,然后重写一些方法或者在layoutsubviews中添加一些自定义视图。你可以从苹果查看这个页面,看看 UITextfield 有什么。 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextField_Class/

      【讨论】:

        【解决方案4】:

        如果您只想更改 textField 的 UI,您可以在故事板或 nib 中执行此操作:

        注意边框样式,默认的是RoundRect(第4个)。但是如果你想自定义 UI,选择第一个(BorderStyle: None)

        现在您可以根据需要放置背景图片或更改其颜色和文字。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-07-12
          • 2019-01-31
          • 2023-04-01
          • 1970-01-01
          • 2013-01-13
          • 1970-01-01
          • 2014-10-11
          • 1970-01-01
          相关资源
          最近更新 更多