子类UIView显示当前视图控制器上的框

时间:2014-01-19 11:29:20

标签: ios objective-c uiview uistoryboard subclassing

我正在尝试将UIView子类化,允许我在我的应用程序的单个视图控制器上绘制六个小方框 - 这个想法是我将使用这6个方框顶部的标签显示文本。

我创建了一个新的objective-c类子类UIView,输入代码来设置框的大小/颜色/位置&最后将自定义类应用到我的故事板中的“视图”,将UIVie w替换为身份检查器的Custom Class部分中我的班级名称(这是单视图应用程序顺便说一句)但是当我运行应用程序时,没有任何内容出现(除了故事板中已有的内容!) - 如果我在完全空白的应用程序中使用相同的代码,则会出现6个框!所以我想我错过了一些东西......这是我的代码框的一部分:

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetRGBFillColor(context, 0.611, 0.505, 0.321, 0.8);
    CGContextFillRect(context, CGRectMake(53, 271, 37, 52));
    CGContextFillRect(context, CGRectMake(141, 271, 37, 52));
    CGContextFillRect(context, CGRectMake(229, 271, 37, 52));
    CGContextFillRect(context, CGRectMake(52, 399, 37, 52));
    CGContextFillRect(context, CGRectMake(140, 399, 37, 52));
    CGContextFillRect(context, CGRectMake(229, 399, 37, 52));
}

1 个答案:

答案 0 :(得分:0)

从你想要的描述(不是你的问题),不要打扰。而是将标签(或文本字段)添加为子视图,并使用其背景颜色及其图层边框属性来创建所需的UI外观。

在您当前的代码中,drawRect:应该调用super。