在使用storybaords时,需要以编程方式调整子视图的大小?

我对自定义视图非常熟悉。 今天我开始使用故事板,我无法说服自己使用故事板。

问题: – 我已经通过视图控制器设置故事板。 – 在模拟器上运行4英寸,我很好与视图的布局。 – 在模拟器上运行3.5英寸,我很难过,因为我的观点是部分可见的。

这里是屏幕截图。

  • 我的SotryBaord(看“删除用户”button)。

    在这里输入图像说明

  • 删除用户button框架:

    在这里输入图像说明

  • 在模拟器上运行4英寸

    在这里输入图像说明

  • 在模拟器上运行4英寸 (我有问题)

    在这里输入图像说明

我如何获得调整了布局的框架,以便在两个尺寸的iPhone中都能够清晰地运行。 我的删除用户button不应该离开屏幕。

自动布局有点复杂,你需要花费很多时间来掌握它,但是如果你想在几分钟内完成它,只需取消选中自动布局,select每个UI元素,并设置它的自动resize 在这里输入图像说明

您可以不同地更改自动布局,只需点击此button即可看到更改 在这里输入图像说明

希望这会帮助和节省时间。

很好的问题。 当我升级它们以支持iphone 5的屏幕尺寸时,我碰到了与我的每个应用程序完全相同的问题。

我最终做的是禁用自动布局,但我仍然使用故事板来放置我所有的button,视图,图像等。我确定在放置所有项目时,我在故事板中使用3.5英寸。 然后,我将这些UILabel或UIButton等连接到一个IBoutLet,然后在我的ViewDidLoad我检查,看看它的iPhone 4对iPhone 5,并相应地重新定位所有的button。

例如。

 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { CGSize result = [[UIScreen mainScreen] bounds].size; if(result.height == 480) { // iPhone Classic } if(result.height == 568) { // iPhone 5 this is the offset I am using int yInt = 50; [blurSlider setFrame:CGRectMake(31, 406+yInt, 271, 34)]; [alphaSlider setFrame:CGRectMake(31, 447+yInt, 271, 34)]; [blurLabel setFrame:CGRectMake(33, 392+yInt, 71, 24)]; [alphaLabel setFrame:CGRectMake(33, 436+yInt, 71, 24)]; } } } 

我可以在没有使用故事板的情况下完成所有的编码吗? 当然,我可以但是我发现故事板的视觉方面吸引人,并确切地看到在屏幕上的一切。