的Xcode Interface Builder的问题
一个UIView我个人不喜欢这个界面生成器在Xcode的工作方式。在这个例子中,我试图创建一个相当复杂的视图控制器。在视图控制器的viewDidLoad
上,我显示了一个自定义警报视图(如此)。它实际上不是一个警报视图,而是更多的向用户显示一些信息的视图。我有一个朦胧的背景视图和顶部的视图。如果我尝试在Interface Builder创建此它变得太复杂,你不能选择在后台的意见并将其移动等未失子视图到错误的看法等等...编程方式创建具有多个标签
方案
我我试图做的是创建一个视图,其中包含一些标签和一个按钮。视图控制器具有基于此的难度属性,它将在标签/标签数量中具有不同的文本。
I.e.易 - 3个标签
硬盘 - 4个标签
我创建dimmedView和警报(风格)查看这样的:
// Setup the dimmedView
UIView *dimmedView = [[UIView alloc] initWithFrame:self.view.frame];
dimmedView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6];
// Setup the startingAlertView
UIView *startingAlertView = [[UIView alloc] init];
startingAlertView.backgroundColor = [UIColor whiteColor];
我然后创建基于一些逻辑的三/四标签和添加基于逻辑的necassary标签也基于逻辑startingAlertView
。
这是显而易见的问题是,在任何时候对所述视图中的帧被设置。这意味着它返回0,0,0,0。我想要发生的是根据添加的标签获取所需高度的视图。
我正在建设IOS7并使用自动布局。我是否应该设置约束条件,然后调整视图中的相关高度和位置?
@MarcoPace或,使用自动布局,旨在解决这个问题。 – jrturton
@jrturton好,我没有读最后一句话。由于它不使用IB,我错误地认为他不想使用它们。感谢您的回复。 –
谢谢,在这个例子中,IB没有用......主要是因为这是顶层视图,下面有一个复杂的视图。如果你可以切换视图以在IB内显示/隐藏,而你在其他人身上工作......现在这将是有用的 – StuartM