2014-01-19 120 views
0

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

我创建了一个新的Objective-C类的子类UIView,输入的代码来设置框&的大小/颜色/位置终于被替换UIVie瓦特应用了自定义类在我的故事板“视图”我的班级在身份检查员的​​部分中的名称(这是一个单视图应用btw),但是当我运行应用时,什么都没有出现(除了故事板中已经存在的内容) - 如果我完全使用相同的代码空白应用程序出现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)); 
} 

回答

0

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

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

+0

根据apple文档“如果直接继承UIView,则此方法的实现不需要调用super。但是,如果您继承了不同的视图类,则应在实现中的某个位置调用super。”所以不需要[超级drawRect] – santhu

+0

我甚至从来没有想过使用标签的背景来设置颜色...不知道为什么...显然在思考的东西:(即完美的作品,尽管如此谢谢:) – user2820855

相关问题