set AdvantageContentSize在iOS 8上的横向iPhone中的今日小部件中不起作用

时间:2014-08-30 10:52:07

标签: ios objective-c ios8 xcode6 today-extension

我正在使用Xcode beta 6在iOS8中使用Today扩展小部件。

我在setPreferredContentSize:viewWillAppear:设置了我的小部件框架 除了在横向iPhone上外,它在所有iOS设备中都能很好地工作。

在横向模式下的iPhone中,小部件的高度不会超过166px(在视网膜iPhone中,332px)。我试图将它设置为300px。

我理解高大的小部件可能不像苹果公司在App Extension Programming Guide中提到的那样糟糕,但如果有很多时间表,有时日历应用会变得很高。

由于我没有iOS8 iPhone,我只用模拟器测试过。 它是模拟器的错误吗?

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:3)

Apple未记录NC Widget的最大高度。

但是,根据我的经验,最大高度严格来说是屏幕的高度减去顶部和底部的控件。

这会产生不良影响,即适合iPad或iPhone 6 plus的小部件可能无法适合iPhone中的风格!

设备和iOS模拟器(从iOS 8.1.2开始)就是这种情况

在我正在编写的应用程序中,NC小部件的preferredContentSize.height始终为210磅。但是,在iPhone 5的横向上,小部件的高度上限为205.5磅。所以UI元素紧密地组合在一起。

我见过一些显示UITableViews的NC小工具,这些小工具有固定数量的行,可以在iPad或人像iPhone上正常工作,但会在横向iPhone上剪辑。

在这种情况下,您可能希望乐观地将preferredContentSize设置为所需的高度,然后检查窗口小部件视图的边界。如果高度小于首选高度,则最好减少显示的内容量。