ios – 仅在顶部或底部具有圆角半径的UITextField

ios – 仅在顶部或底部具有圆角半径的UITextField,第1张

概述我有一个添加到视图的UITextField,我正在尝试更改它的默认外观. 我想要的是改变角半径,但只在顶部/底部.我是这样做的: UIBezierPath *usernameMaskPathWithRadiusTop = [UIBezierPath bezierPathWithRoundedRect:username.bounds @H_419_6@ 我有一个添加到视图的UITextFIEld,我正在尝试更改它的默认外观.

我想要的是改变角半径,但只在顶部/底部.我是这样做的:

UIBezIErPath *usernameMaskPathWithRadiustop = [UIBezIErPath bezIErPathWithRoundedRect:username.bounds                                                                    byRoundingCorners:(UIRectCornertopleft | UIRectCornertopRight)                                                                          cornerRadii:CGSizeMake(4.0,4.0)];UIBezIErPath *passwordMaskPathWithRadiusBottom = [UIBezIErPath bezIErPathWithRoundedRect:password.bounds                                                                       byRoundingCorners:(UIRectCornerBottomleft | UIRectCornerBottomright)                                                                             cornerRadii:CGSizeMake(4.0,4.0)];CAShapeLayer *usernameMaskLayer = [[CAShapeLayer alloc] init];usernameMaskLayer.frame = username.bounds;usernameMaskLayer.path = usernameMaskPathWithRadiustop.CGPath;CAShapeLayer *passwordMaskLayer = [[CAShapeLayer alloc] init];passwordMaskLayer.frame = password.bounds;passwordMaskLayer.path = passwordMaskPathWithRadiusBottom.CGPath;[username setTextAlignment:NSTextAlignmentleft];[username setClearbuttonMode:UITextFIEldviewmodeWhileEditing];usernameLayer.shadowOpacity = 0.0;[usernameLayer setMask:usernameMaskLayer];[password setTextAlignment:NSTextAlignmentleft];[username setClearbuttonMode:UITextFIEldviewmodeWhileEditing];passwordLayer.shadowOpacity = 0.0;[passwordLayer setMask:passwordMaskLayer];

其中UITextFIEld *用户名,UITextFIEld *密码和CAShapeLayer * usernameLayer = username.layer和CAShapeLayer * passwordLayer = password.layer的定义如上所述.

问题是,在我执行上述 *** 作之后,我根本没有任何字段,实际上它们在那里但是一切都是透明的,文本和背景颜色.我不知道如何得到回来或如何解决我做错的事情.

我怎么能做我正在尝试的事情呢?

解决方法 看起来我要做的不是设置一个我必须添加为子层的掩码:

[username.layer addSublayer:usernameMaskLayer];// instead of the old[usernameLayer setMask:usernameMaskLayer];

然后为了设置背景我只需要在usernameMaskLayer上设置setFillcolor.

总结

以上是内存溢出为你收集整理的ios – 仅在顶部或底部具有圆角半径的UITextField全部内容,希望文章能够帮你解决ios – 仅在顶部或底部具有圆角半径的UITextField所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: https://outofmemory.cn/web/1054724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存