Objective-c:如何使用自动布局向 UIView 添加边框 [关闭]

Posted

技术标签:

【中文标题】Objective-c:如何使用自动布局向 UIView 添加边框 [关闭]【英文标题】:Objective-c: How to add borders to a UIView with auto layout [closed] 【发布时间】:2016-04-21 18:52:20 【问题描述】:

在objective-c中使用自动布局时如何给UIView添加特定颜色和粗细的边框?

【问题讨论】:

对于那些反对我的问题和答案的人,你能解释一下原因吗?这是一个非常有用的功能! 【参考方案1】:

这个函数会为 UIView 的任意边框添加一个特定颜色和粗细的边框

- (void)addBorder:(UIView *)view toEdge:(UIRectEdge)edge withColor:(UIColor *)color withThickness:(float)thickness
    UIView *border = [UIView new];
    border.backgroundColor = color;
    [border setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin];
    switch (edge) 
        case UIRectEdgeTop:
            border.frame = CGRectMake(0, 0, view.frame.size.width, thickness);
            break;
        case UIRectEdgeBottom:
            border.frame = CGRectMake(0, view.frame.size.height - thickness, view.frame.size.width, thickness);
            break;
        case UIRectEdgeLeft:
            border.frame = CGRectMake(0, 0, thickness, view.frame.size.height);
            break;
        case UIRectEdgeRight:
            border.frame = CGRectMake(view.frame.size.width - thickness, 0, thickness, view.frame.size.height);
            break;
        default:
            break;
    
    [view addSubview:border];

用法

[self addBorder:yourView toEdge:UIRectEdgeTop withColor:[UIColor greenColor] withThickness:3.0f];

希望你能充分利用它。

【讨论】:

以上是关于Objective-c:如何使用自动布局向 UIView 添加边框 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局约束动态创建视图?在Objective-C中?

WKWebview & UIImageView 在 UIScrollView 内以编程方式自动布局 Objective-C

在 Swift 运行时更改自动布局约束的 UIView 的框架

UIScrollView 在带有自动布局的 UITabBarController 中有一个无法解释的位置

自动布局打开时如何以编程方式更改 UIView 的位置

如何使用objective-c向接口公开自定义初始化实现?