Iphone 如何使UITextField更圆?就像iPad上Safari中的搜索字段一样

Iphone 如何使UITextField更圆?就像iPad上Safari中的搜索字段一样,iphone,uikit,uitextfield,uisearchbar,Iphone,Uikit,Uitextfield,Uisearchbar,嗨,我正在尝试让UITextField看起来像iPad上safari应用程序中可用的谷歌搜索字段。该字段的用途相同(搜索框) 我知道我可以使用UISearchBar,但我必须使用黑客代码来去除放大镜图标和背景,我不希望这样 我附上了一张图片,上面有苹果公司使用的文本字段作为他们的搜索框。如何修改UITextField,使其外观和行为与此屏幕截图中的搜索字段类似? 我试图修改UITextField的layer roundedCorners属性,但效果不理想 非常感谢您的帮助 谢谢大家! 使用具有

嗨,我正在尝试让UITextField看起来像iPad上safari应用程序中可用的谷歌搜索字段。该字段的用途相同(搜索框)

我知道我可以使用UISearchBar,但我必须使用黑客代码来去除放大镜图标和背景,我不希望这样

我附上了一张图片,上面有苹果公司使用的文本字段作为他们的搜索框。如何修改UITextField,使其外观和行为与此屏幕截图中的搜索字段类似?

我试图修改UITextField的layer roundedCorners属性,但效果不理想

非常感谢您的帮助


谢谢大家!

使用具有所需圆角的图形,然后在顶部放置文本视图。

为什么不尝试一个技巧,将所需输入字段的图像分开,并将其置于真正的文本字段控件下。但是,为了使文本字段透明,您必须操纵要放置的文本字段的颜色

可以在任何UIView子类上设置角半径

  • 将QuartzCore.framework添加到项目中
  • 在UIViewController子类中添加
    #import
    (您可以在其中访问所选的UITextfield实例)
  • 在viewDidLoad/ViewWill中(或UITextfield已准备就绪的任何其他地方)将显示实例化调用
    [yourTextField.layer setCornerRadius:14.0f];
  • 使用“拐角半径”(cornerRadius)值进行调整,直到效果良好为止

  • 将UITextField的背景属性设置为适当的图像,如下所示:

    使用下面的代码。它适合我:

    searchField= [[UITextField alloc] initWithFrame:CGRectMake(0,0,150,31)];
    searchField.delegate = self;
    searchField.autoresizingMask = UIViewAutoresizingFlexibleWidth;
    searchField.textColor = [UIColor colorWithRed:102.0/255 green:102.0/255 blue:102.0/255 alpha:1.0];
    searchField.textAlignment = UITextAlignmentLeft;
    searchField.font = [UIFont fontWithName:@"Helvetica" size:15];
    searchField.autocorrectionType = UITextAutocorrectionTypeNo;
    searchField.contentVerticalAlignment =UIControlContentVerticalAlignmentCenter;
    searchField.clearsOnBeginEditing = NO;
    searchField.autocapitalizationType = UITextAutocapitalizationTypeNone;
    searchField.autocorrectionType = UITextAutocorrectionTypeNo;
    searchField.keyboardType = UIKeyboardTypeURL;
    searchField.returnKeyType = UIReturnKeySearch;        
    searchField.clearButtonMode = UITextFieldViewModeWhileEditing;
    searchField.rightViewMode = UITextFieldViewModeUnlessEditing;
    searchField.layer.cornerRadius = 17;
    searchField.placeholder=@"Google Search";
    searchField.borderStyle = UITextBorderStyleRoundedRect;//To change borders to rounded
    searchField.layer.borderWidth = 1.0f; //To hide the square corners 
    searchField.layer.borderColor = [[UIColor grayColor] CGColor]; //assigning the default border color
    UIBarButtonItem *searchFieldItem = [[UIBarButtonItem alloc] initWithCustomView:searchField];
    

    感谢您的回复,但我不认为苹果在构建该功能时使用了类似的东西。在使用圆角时,您是否确保添加了quartzcore框架并将必要的头文件导入到ViewController子类中?虽然这是一种获得圆角的好方法,但您可以不会得到他显示的确切外观和感觉。特别是阴影。在这种情况下,如果对齐设置为右或左,文本将过于靠近侧面。