如何在Xcode中更改UITableView边框颜色

时间:2014-09-15 06:18:17

标签: ios macos ipad storyboard

任何人都知道如何在故事板中更改UITableView边框颜色。我正在使用Xcode。

4 个答案:

答案 0 :(得分:1)

在用户定义的运行时属性中尝试此操作设置关键路径和值

sample

答案 1 :(得分:1)

您可以使用用户定义的运行时属性通过XIB或Storyboard设置borderColor或borderWidth。您需要选择视图,然后单击“身份”检查器。您将看到“用户定义的运行时属性”,您可以在其中为tableView设置borderColor。

enter image description here

答案 2 :(得分:1)

任何视图(或UIView子类)上的

borderColor 也可以使用具有一点编码的故事板进行设置,如果您在多个UI上设置边框颜色,这种方法可能非常方便对象。

以下是如何实现它的步骤,

  1. 在CALayer类上创建一个类别。使用合适的名称声明类型为 UIColor 的属性,我将其命名为 borderUIColor
  2. 为此属性编写setter和getter。
  3. 在“塞特”中方法只需设置" borderColor"层的属性为新颜色CGColor值。
  4. 在Getter'方法使用图层的borderColor返回UIColor。
  5. P.S:记住,类别不能存储属性。 ' borderUIColor'用作计算属性,作为实现我们所关注的内容的参考。

    请查看以下代码示例;

    目标C:

    接口文件:

    #import <QuartzCore/QuartzCore.h>
    #import <UIKit/UIKit.h>
    
    @interface CALayer (BorderProperties)
    
    // This assigns a CGColor to borderColor.
    @property (nonatomic, assign) UIColor* borderUIColor;
    
    @end
    

    实施档案:

    #import "CALayer+BorderProperties.h"
    
    @implementation CALayer (BorderProperties)
    
    - (void)setBorderUIColor:(UIColor *)color {
        self.borderColor = color.CGColor;
    }
    
    - (UIColor *)borderUIColor {
        return [UIColor colorWithCGColor:self.borderColor];
    }
    
    @end
    

    Swift 2.0:

    extension CALayer {
    var borderUIColor: UIColor {
        set {
            self.borderColor = newValue.CGColor
        }
    
        get {
            return UIColor(CGColor: self.borderColor!)
        }
    }
    }
    

    最后转到你的故事板/ XIB,按照其余步骤进行操作;

    1. 单击要为其设置边框颜色的View对象。
    2. 点击&#34; Identity Inspector&#34;(左起第3位)&#34; Utility&#34;(屏幕右侧)面板。
    3. 在&#34;用户定义的运行时属性&#34;下,单击&#34; +&#34;按钮添加关键路径。
    4. 将键路径的类型设置为&#34; Color&#34;。
    5. 输入关键路径的值为&#34; layer.borderUIColor&#34;。 [请记住,这应该是您在类别中声明的变量名称,而不是 borderColor ,此处 borderUIColor ]。
    6. 最后选择你想要的任何颜色。
    7. 修改:您必须将 layer.borderWidth 属性值设置为至少1才能看到边框颜色。

      构建并运行。 快乐的编码。 :)

答案 3 :(得分:0)

尝试以下代码

#import  "QuartzCore/QuartzCore.h"

tableview.layer.borderWidth = 1.0;
tableview.layer.borderColor = [UIColor lightGrayColor].CGColor;