首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UITextView模仿UITextField [用于基本圆角文本字段]

UITextView模仿UITextField [用于基本圆角文本字段]
EN

Stack Overflow用户
提问于 2013-12-26 20:34:41
回答 4查看 1.8K关注 0票数 5

我希望有多行的UITextField,在对这个问题进行了快速的google搜索之后,我发现我应该使用TextView,所以当我需要多行时,我确实将代码转换为使用UITextView。我的视图还有我想保留的另一行textField。

为了使我的TextView看起来像TextField,我不得不添加代码来设置边框和radius,但是它们在iOS7上看起来有点不同。有没有人知道:

  • UITextField边框的颜色是什么?当启用和禁用时,我可以发送我的文本视图来匹配它。
  • TextField角的半径是多少。
  • 当UITextField被禁用时,它的背景色是什么?图片显示文本字段在禁用时有较浅的灰色阴影?因此,当我禁用用户交互时,我可以将文本视图设置为相同的颜色。

如果要继续使用textfield来处理多行文本,我会全神贯注地使用它。

诚挚的问候,

EN

回答 4

Stack Overflow用户

发布于 2014-06-14 18:14:55

我用这个:

代码语言:javascript
运行
复制
textView.layer.borderColor = [[UIColor colorWithRed:215.0 / 255.0 green:215.0 / 255.0 blue:215.0 / 255.0 alpha:1] CGColor];
textView.layer.borderWidth = 0.6f;
textView.layer.cornerRadius = 6.0f;

params中的细微差别使它看起来更像UITextField(我希望如此)。

票数 7
EN

Stack Overflow用户

发布于 2014-02-07 13:13:01

我用这个:

代码语言:javascript
运行
复制
#import <QuartzCore/QuartzCore.h>

-(void) textViewLikeTextField:(UITextView*)textView
{
    [textView.layer setBorderColor:[[UIColor colorWithRed:212.0/255.0
                                                                       green:212.0/255.0
                                                                        blue:212.0/255.0
                                                                       alpha:1] CGColor]];
    [textView.layer setBorderWidth:1.0f];
    [textView.layer setCornerRadius:7.0f];
    [textView.layer setMasksToBounds:YES];
}

得到一个好的结果。

票数 3
EN

Stack Overflow用户

发布于 2014-02-02 20:06:40

我有一个小的UITextView子类,它在iOS 7中给出了与UITextField相同的外观

接口为空:

代码语言:javascript
运行
复制
@interface MyTextView : UITextView
@end

该实现覆盖“可编辑”属性的初始化和setter:

代码语言:javascript
运行
复制
@implementation MyTextView

//================================================================================

- (id) initWithFrame: (CGRect) frame
{
    self = [super initWithFrame:frame];
    if (self)
    {
        [self commonInit];
    }
    return self;
}

//================================================================================

- (id) initWithCoder: (NSCoder *) aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self)
    {
        [self commonInit];
    }
    return self;
}

//================================================================================

- (void) commonInit
{
    self.layer.borderWidth  = 1.0f;
    self.layer.borderColor  = [[UIColor colorWithRed:232.0/255.0
                       green:232.0/255.0 blue:232.0/255.0 alpha:1] CGColor];
    self.layer.cornerRadius = 6;
}

//================================================================================

- (void) setEditable: (BOOL) editable
{
    [super setEditable:editable];

    if (editable)
    {
        self.backgroundColor = [UIColor whiteColor];
    }
    else
    {
        self.backgroundColor = [UIColor colorWithRed:250.0/255.0
                                green:250.0/255.0 blue:250.0/255.0 alpha:1];
    }
}

//================================================================================

@end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20790907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档