【发布时间】:2011-04-10 14:34:32
【问题描述】:
我有三个观点,它们有几个相似之处。例如位置 30,30 的 UIImageView 和同一位置的三个 UILabel。
在不复制和粘贴或冗余代码的情况下解决此问题的最佳方法是什么?
当我用笔尖创建所有三个视图时,我必须复制并粘贴相同的部分...
我开始实现我自己的 UIViewController 和一个基本的 UIView。我的代码如下所示:
- (id)init {
if((self = [super init])) {
image = [[UIImageView alloc] init];
header = [[UILabel alloc] init];
[self addSubview:image];
[self addSubview:header];
}
return self;
}
- (void)layoutSubviews {
[super layoutSubviews];
image.frame = CGRectMake(30, 30, 20, 20);
header.frame = CGRectMake(30, 100, 200, 30);
}
当我将带有该视图的控制器推送到堆栈上时,视图显示错误。图片和标签被titleheader(navigationcontroller)覆盖...
谁能解释一下这个布局系统是如何工作的... ios sdk 是我用过的最糟糕的 sdk :(
【问题讨论】:
-
Cocoa 和 CocoaTouch 工作得很好。只是不要忽略文档。 ;-)
标签: ios uiview uiviewcontroller