如何让UIPickerview适应屏幕尺寸?

问题描述:

我在我的iPhone应用程序中创建了一个选择器,它运行良好 - 但选择器是叠加层的一部分,所以某些值是硬编码的,因为叠加层出现在左侧多远。如何让UIPickerview适应屏幕尺寸?

因此,当我尝试制作可比较的iPad版本时会发生明显的错误。我打开了iPad故事板并设置了所有内容,但自然而然,当我运行它时,我的uipickerview出现在巨大的iPad屏幕的中间和左侧,有点偏离它应该在的位置。

有没有什么办法可以自动将选取器重叠在中心并拥抱屏幕底部,无论屏幕大小是多少,而不是硬编码的位置?

iPhone viewiPad view

+1

用代码或约束来做到这一点? – danh 2013-03-27 22:38:43

+0

代码,我想(不知道你的意思是什么限制 - 我刚开始编程iOS应用程序,所以我可以很容易地迷路)。 – 2013-03-27 22:39:56

+1

如果您有兴趣了解约束(或自动布局,它可以解决您处理的问题),请查看:http://developer.apple.com/library/ios/#recipes/xcode_help-interface_builder/文章/ UnderstandingAutolayout.html – rog 2013-03-27 23:16:00

它看起来像不像你想的选择器,在视图控制器的主视图底部休息(它的父,我假设)和一样宽的观点。试试这个...

CGRect viewFrame = self.view.frame; 
CGRect pickerHeight = self.picker.frame.size.height; // assume you have an outlet called picker 
CGRect pickerFrame = CGRectMake(0.0, viewFrame.size.height-pickerHeight, 
         viewFrame.size.width, pickerHeight); 
self.picker.frame = pickerFrame; 
+0

完美的工作!谢谢! – 2013-03-27 23:28:22