Tag: 大小类

UITraitCollection澄清

我试图找出如何以编程方式使用UITraitCollection ,但我觉得很难理解它。 我正在iOS 8中开发iPad视网膜。 println(self.traitCollection)返回以下输出: <UITraitCollection: 0x10df4c7f0; _UITraitNameUserInterfaceIdiom = Pad, _UITraitNameDisplayScale = 2.000000, _UITraitNameHorizontalSizeClass = Regular, _UITraitNameVerticalSizeClass = Regular, _UITraitNameTouchLevel = 0, _UITraitNameInteractionModel = 1> 这是非常简单的。 但是当我旋转屏幕,我得到完全相同的输出。 即,相同的垂直尺寸等级和相同的水平尺寸等级。 所以我的问题是,是否需要为每个设备方向指定我想要的大小类(据我所知,大小类是只读属性!)还是我错过了明显的东西? 在WWDC 2014video网站“Cocoa-Touch新增内容”中给出的例子中,他以iPhone为例,每种设备方向都有不同的垂直/水平尺寸等级。 你会怎么做呢?

iOS-检测viewDidLoad上的当前大小类

我正在使用iOS 8上的自适应布局,我想获得viewDidLoad上的大小。 任何想法呢?

故事板中的UIScrollView不适用于iOS 8 Size Classes和Autolayout

所以我试图创build一个只有在故事板的UIScrollView ,允许我添加滚动标签超过VC的高度。 以下是我所做的: 创build了UIScrollView ,占用了任何高度VC的任何宽度的大小 在顶部,底部,左侧和右侧,对最近的邻居进行间隔限制为0 创build一个UIScrollView的子视图的视图,它的宽度与任何高度为VC但高度为1500(因为我只希望垂直滚动)的宽度相同。 将最近邻居的约束条件设置为仅用于左侧,顶部和右侧的0,并将高度约束条件设置为1500。 我在子subView的顶部和底部放置了一个标签 当我在iPhone 6上运行应用程序时,不会像我想要的那样垂直滚动。 任何想法,为什么这是行不通的? 提前致谢。

离线UITableViewCells(用于大小计算)不尊重大小class?

我在UITableView中使用自动布局和大小类,并根据其内容使用自定义大小的单元格。 为此,我使用的方法对于每种types的单元格,都会保留该单元格的非屏幕实例,并使用systemLayoutSizeFittingSize来确定正确的行高度 – 此方法在此StackOverflowpost和其他位置有很好的解释。 这工作很好,直到我开始使用大小类。 具体而言,我已经定义了常规宽度布局中文本的边距约束的不同常量,因此iPad上的文本周围会有更多的空白。 这给了我以下结果。 看起来,新的一组约束被认可(有更多的空白),但是行高计算仍然返回与没有应用大小类特定约束的单元相同的值。 屏幕外单元中布局过程的某些部分没有考虑窗口的尺寸等级 。 现在我认为这可能是因为屏幕外视图没有超视图或窗口,因此在systemLayoutSizeFittingSize调用发生时没有任何大小的类特征可以引用(即使它似乎使用调整后的约束利润率)。 我现在通过添加屏幕尺寸的单元格作为UIWindow创build后的子视图来解决这个问题,从而得到所需的结果: 以下是我在代码中所做的: func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { let contentItem = content[indexPath.item] if let contentType = contentItem["type"] { // Get or create the cached layout cell for this cell type. if layoutCellCache.indexForKey(contentType) == nil { if let cellIdentifier = CellIdentifiers[contentType] { […]