【问题标题】:2 Storyboards and 1 PickerView2 个故事板和 1 个 PickerView
【发布时间】:2012-09-28 07:26:54
【问题描述】:

我有 2 个故事板,一个用于 iPhone 5,另一个用于 4s/4/3。我以编程方式制作了我的选择器,并相应地对其进行了定位,因此它适合使用此代码的 iphone 5

 picker1 = [[UIPickerView alloc] initWithFrame:CGRectMake(13, 272.5, 294, 219
                                                        )];

等等

但是当我在我的 iPhone 4 上运行它时,它太低了,我不想毁掉我的 iphone 5,因为我花了两天时间完善它的一切。有没有办法让 iphone 加载相同的选择器,但根据屏幕尺寸以不同的尺寸和坐标加载,例如如果 screen == 568 ..... else ....

?? 这是我的应用程序的最后一步。任何线索如何完成这个?

【问题讨论】:

    标签: storyboard ios6 uipickerview iphone-5


    【解决方案1】:

    这应该提供您所追求的:

    CGRect iphone5frame = CGRectMake(13, 272.5, 294, 219);
    CGRect iphone4frame = CGRectMake(13, 272.5, 294, 219); // Edit these values for the iPhone 4
    picker1 = [[UIPickerView alloc] initWithFrame:([[UIScreen mainScreen] bounds].size.height <= 480.0 ? iphone4frame : iphone5frame)];
    

    编辑:更新代码以实现更多自定义

    【讨论】:

    • 所以我基本上只是复制我的picker1 = [[UIPickerView alloc] initWithFrame:CGRectMake(13, 272.5, 294, 219 )];你把 ( ) 放在哪里并使它适合 iphone 4?
    • 您可以将您发布的行替换为我提供的行,并将(whatever you want on the non-iPhone 5 display) 替换为适合 iPhone 4S/4/3/etc 显示器的正确编号。如果这对您有用,请将答案标记为已接受。
    • 说实话,我对 int Retina35= 之后的内容有点迷茫?所以例如我会输入 intretina35 = (13,272.5,294,219);那将是 iPhone4 上选择器的大小和位置?
    • 变量 retina40 包含您希望 UIPickerView 在 iPhone 5 上的 y 位置。变量 retina35 应该包含相同的值,但针对 iPhone 4S/4 除外/3/等
    • 它有效。我还有一个问题。我可以更改 iphone 4 上选择器的大小并保持 iphone 5 上的大小与原来相同。 4 号太大,5 号完美
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 2014-11-13
    • 1970-01-01
    • 2017-02-22
    • 2017-05-14
    • 2016-05-31
    相关资源
    最近更新 更多