如何在iOS中为UITextField设置方形边

时间:2014-03-20 12:43:34

标签: ios cocoa-touch xamarin

我试图在我的应用上创建一个登录页面,其文本字段看起来像此图片中的电子邮件和密码字段:

enter image description here

我想圆顶和方底。我知道如何使用石英等创建完全圆润的边缘,但我不确定如何做一半和一半,我在类似的问题上发现了一些其他帖子,建议使用类似myTextField.borderStyle = UITextBorderStyleRoundedRect;的东西,但显然这样做完全圆润而不是一半。

4 个答案:

答案 0 :(得分:1)

是的,您可以通过设置textField的背景图片来完成此操作。它可以在storyboad中完成。

答案 1 :(得分:1)

我认为最简单的方法是制作UIView并将两个字段放在该视图中。然后,您可以将视图设置为具有圆角。它将完全达到你想要的效果。

答案 2 :(得分:1)

也许比@George和@Holex的建议更复杂,但你可以这样做:

TopTextField:

UIBezierPath *topMaskPath = [UIBezierPath bezierPathWithRoundedRect:topTextField.bounds 
                                                  byRoundingCorners:UIRectCornerTopLeft| UIRectCornerTopRight                                                       
                                                        cornerRadii:CGSizeMake(10.0, 10.0)];
// Create the shape layer and set its path
CAShapeLayer *topMaskLayer = [CAShapeLayer layer];
topMaskLayer.frame = topTextField.bounds;
topMaskLayer.path = topMaskPath.CGPath;
// Set the newly created shape layer as the mask for the image view's layer
topTextField.layer.mask = topMaskLayer;

BottomTextField:

UIBezierPath *bottomMaskPath = [UIBezierPath bezierPathWithRoundedRect:topTextField.bounds 
                                                     byRoundingCorners:UIRectCornerBottomLeft| UIRectCornerBottomRight                                                       
                                                           cornerRadii:CGSizeMake(10.0, 10.0)];
// Create the shape layer and set its path
CAShapeLayer *bottomMaskLayer = [CAShapeLayer layer];
bottomMaskLayer.frame = bottomTextField.bounds;
bottomMaskLayer.path = bottomMaskPath.CGPath;
// Set the newly created shape layer as the mask for the image view's layer
bottomTextField.layer.mask = bottomMaskLayer;

基于:here

答案 3 :(得分:0)

尝试将背景图像用于文本字段和按钮。它唯一最简单的方法。我只为我的所有应用程序使用图像..