UITextField 仅在顶部带有圆角

2024-04-27

我想实现一个仅在左上角和右上角有圆角的 UITextField。

我知道 setter 方法 setCornerRadius: 这是 UITextField 的默认选项,但此选项只允许我将 txtfield 的所有四个角设为圆形,但我只希望顶部的角是圆形的。

我现在已经忙了好几个小时了,我已经阅读了苹果的文档十几次,但我仍然无法找出为什么我的代码无法工作:

- (id) init
{
    // init elements
    UITextField *txt_password      = [[UITextField alloc] init];
    UIView *txt_password_paddingVc = [[UIView alloc] initWithFrame:CGRectMake(0,0,10,35)];

    // configure  txtfield
    [txt_password setSecureTextEntry:YES];
    [txt_password setDelegate:self];
    [txt_password setTag:100];
    [txt_password setPlaceholder:t(@"App Password")];
    [txt_password setLeftView:txt_password_paddingVc];
    [txt_password setRightView:txt_password_paddingVc];
    [txt_password setBackgroundColor:[UIColor whiteColor]];
    [txt_password setLeftViewMode:UITextFieldViewModeAlways];
    [txt_password setRightViewMode:UITextFieldViewModeAlways];
    [txt_password setTranslatesAutoresizingMaskIntoConstraints:NO];
    [txt_password setAutocapitalizationType:UITextAutocapitalizationTypeNone];
    [txt_password setAutocorrectionType:UITextAutocorrectionTypeNo];
    [txt_password.layer setBorderColor:[UIColor colorWithRed:228/255.0 green:228/255.0 blue:228/255.0 alpha:1].CGColor];
    [txt_password.layer setBorderWidth:1.0f];
    [txt_password.layer setShadowOpacity:0.0];
    [txt_password.layer setMasksToBounds:YES];

    // make round corners for txtfield
    CAShapeLayer *passwordMaskLayer = [[CAShapeLayer alloc] init];
    UIBezierPath *passwordMaskPathWithRadiusTop = [UIBezierPath bezierPathWithRoundedRect:txt_password.bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) cornerRadii:CGSizeMake(5.0, 5.0)];
    passwordMaskLayer.frame     = txt_password.bounds;
    passwordMaskLayer.path      = passwordMaskPathWithRadiusTop.CGPath;
    passwordMaskLayer.fillColor = [UIColor whiteColor].CGColor;
    [txt_password.layer.mask setMask:passwordMaskLayer];

    // add txtfield to view
    [self.view addSubview:txt_password];

return self;
}

你可以试试这个。我希望这有帮助。

-(void)CustomizeTextField:(UITextField *)myTextField
{
    CGRect rect = myTextField.bounds;
    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect
                                           byRoundingCorners:UIRectCornerTopLeft |UIRectCornerTopRight
                                                 cornerRadii:CGSizeMake(6.0, 6.0)];
   CAShapeLayer *layers = [CAShapeLayer layer];
   layers.frame = rect;
   layers.path = path.CGPath;
   myTextField.layer.mask = layers;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UITextField 仅在顶部带有圆角 的相关文章

  • 保存时出现 iphone 核心数据未解决的错误

    尝试保存时 我从核心数据中收到一条奇怪的错误消息 但问题是错误不可重现 在执行不同任务时 它会在不同时间出现 错误消息 Unresolved error Domain NSCocoaErrorDomain Code 1560 UserInf
  • iOS UITest:如何找到UITableViewCell的AccessoryView?

    你好我正在学习UITests now 我有个问题 如何检测accessoryView的点击tableViewCell 在UI测试中 下面是我的tableViewCell 我想要检测细节闭合配件视图水龙头 像这样 app tables cel
  • @IBDesignable 错误:IB Designables:无法更新自动布局状态:Interface Builder Cocoa Touch Tool 崩溃

    我有一个非常简单的 UITextView 子类 它添加了 占位符 功能 您可以在文本字段对象中找到该功能 这是我的子类代码 import UIKit import Foundation IBDesignable class Placehol
  • 将文件保存到 icloud 驱动器

    我正在尝试将文件保存到 icloud 驱动器 我要使用简单版本 不让用户选择保存文件的位置 我只是将其保存在 icloud 驱动器的根目录中 这是我正在使用的代码 func exportToFiles for page in pages l
  • 如何在 Flutter 中为 Button 添加渐变?

    有没有办法改变ElevatedButton背景颜色渐变 如果没有一些小瑕疵或问题 例如缺少涟漪效应 不需要的边框 不尊重主题的内容 上述所有解决方案都无法真正发挥作用minWidth对于按钮 The 下面的解决方案没有上述问题 关键部分是使
  • 文本末尾的空格在右对齐 UITextField 中不可见

    我有一个右对齐的UITextField 最初编辑时 文本末尾不会出现空格 我用这个解决了this https stackoverflow com q 19569688 1971013 替换 与不间断的 u00a0 然而 上面仅在编辑文本字段
  • Xcode 10 命令行构建:存档失败,出现 Fabric Info.plist 错误

    我有用于自动构建 iOS 项目的 Jenkins 服务器 该项目有两个目标 使用命令行实用程序构建项目xcodebuild 完整命令是 usr bin xcodebuild workspace Our project xcworkspace
  • iOS UITableViewCellAccessoryCheckmark 在每次滚动时可见

    我有一个列表 我将其用作复选框 我已启用或禁用选择行上的复选标记 但是当我滚动列表时 它会在每 10 行之后标记行 void tableView UITableView tableView didSelectRowAtIndexPath N
  • Apple 如何通知 iOS 应用程序内购买 (IAP) 退款?

    我在我的应用程序中成功实现了 Apple iOS IAP 并在沙箱中进行了测试 效果很好 我担心用户可能会通过 IAP 购买商品 将其下载到我的应用程序中 然后向 Apple 投诉并获得退款 没有明显的方式将退款报告给我的应用程序 它们是否
  • 更改 UINavigationBar 中 UIBarButtonItem 的位置

    如何更改 UIBarButtonItem 在 UINavigationBar 中的位置 我希望我的按钮比正常位置高约 5 像素 此代码为 UINavigationBar 创建一个具有图像背景和自定义位置的后退按钮 诀窍是创建一个中间视图并修
  • 存储和检索多维 NSMutableArray 的最佳方法是什么?

    我将一堆数据存储在 plist 文件 在应用程序文档文件夹中 中 其结构如下 Dictionary description String Value sections Array Array Number Number Array Numb
  • 为什么 UIWebView 实例不调用scrollViewDidScroll?

    iOS 文档说 UIWeb视图 http developer apple com library ios documentation uikit reference UIWebView Class Reference Reference h
  • 横向 xib 显示为纵向

    我有一个视图控制器和单独的纵向和横向笔尖文件 旋转时 我加载相应的笔尖 方法 shouldAutorotateToInterfaceOrientation and willRotateToInterfaceOrientation 接到电话
  • ios7 绘图时出现延迟

    我有一个应用程序 在其中我正在视图上绘制一些草图 到目前为止 在我安装之前它运行良好ios7 我的应用程序使用触摸移动方法来识别运动的变化 但是当我画一条线时 触摸方法被调用 但线不会更新 直到我触摸结束ios7 所以画起来有一点点滞后 它
  • 为什么在快速合并两个视频或更改背景音乐后视频变成黑屏?

    在我的 ios 应用程序中 我想合并两个视频并更改背景音乐 我尝试过 对于普通视频来说效果很好 但是 当我选择任何延时视频 然后尝试合并或更改背景音乐时 视频变成全黑屏 对于我的应用程序 我使用 swift 4 2 和 xcode 10 我
  • Coredata错误setObjectForKey:对象不能为nil

    我正在尝试检查我的核心数据存储中是否有任何数据作为我的应用程序的恢复类型 基本上 如果用户处于最终视图 则 coredata 中会有一些数据不断更新 因此 他们处于最终视图中 然后应用程序崩溃 或者他们将其置于睡眠状态 然后应用程序从内存中
  • CF 类型的带有 __attribute__((NSObject)) 的强 @property 不会保留

    更新 自 Xcode 4 6 起 此问题已得到修复 现在 这项技术再次按预期发挥作用 但是 在代码中使用之前 请务必阅读 Rob Napier 出色答案顶部的注释 原帖 ARC Xcode 4 3 1 iOS 5 1 我有一个 CF 类型
  • iOS:启动图像多语言

    我有一个多语言应用程序 我的问题是启动图像 根据设备的语言使用启动图像的方法是什么 有什么东西在info plist file 解决方案是像项目中的任何其他资源一样本地化 Default png 从 Xcode 的项目列表中选择 Defau
  • 是否可以开发一个可以跟踪其他应用程序使用情况的应用程序?

    我很想知道是否有可能为 iOS 开发一款类似的应用程序 就像本周刚刚发布的 Android 版应用程序一样 https play google com store apps details id com appuccino Frequenc
  • 如何检测文本是否可读?

    我想知道是否有一种方法可以告诉给定的文本是人类可读的 我所说的人类可读的意思是 它有一些含义 格式就像某人写的文章 或者至少是由软件翻译器生成的供人类阅读的文章 这是背景故事 最近我正在制作一个应用程序 允许用户将短文本上传到数据库 在部署

随机推荐