问题标签 [uitraitcollection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - UISplitViewController iOS8 中的细节视图控制器不会调用大小方法
我有一个UIViewController
包含一个UICollectionView
使用一个UICollectionViewFlowLayout
. 视图控制器是UISplitViewController
.
视图控制器是流布局的委托,其大小UICollectionViewCells
是根据集合视图中的可用空间计算的。(例如itemSize
= width/3,height/2
)
在iOS8
Apple 中引入了用于折叠拆分视图控制器的主控部分的 API。
我想在集合视图展开时使我的集合视图的布局无效,以强制重新计算项目大小。
我想在引入的新尺寸方法中添加适当的代码iOS8
- 但是在折叠主端时没有调用它们。
这是我尝试过的代码。它不被称为:
cocoa-touch - 实时渲染中的 IBDesignables 和 traitCollection
我正在构建我的自定义 UIControl,这是一个构建为 IBDesignable 的自定义按钮,它需要根据显示它的大小类进行更改。我有一个方法-setupForTraitCollection,它看起来像这样:
这段代码在编译时工作得很好,但在实时渲染中,并且在调试视图时,它永远不会碰到“iPad”开关盒。我开始在这里放弃并简单地接受 traitCollections 在实时渲染中不可用,但我想确认这一点。更好的是,如果有人能指出我找到解决方案的方向。
所以最重要的问题是——我可以在 IBDesignable 中使用 traitCollections 吗?如果可以,如何使用?
我真的很希望能够在 IB 中更改大小类并在我的自定义控件上查看结果。
ios - 大小类和 dequeueReusableCellWithIdentifier
我正在尝试计算 UITableViewCells 的高度。我通过在 UITableView 上调用 -dequeueReusableCellWithIdentifier: 然后在单元原型上调用 -systemLayoutSizeFittingSize: 从情节提要中配置的动态原型创建原型单元实例。问题是在情节提要中为单元格配置的 traitCollection 和约束始终是我为 Any:Any 设置的,并且单元格的框架始终为 320pt 宽。这似乎是错误的。有什么我想念的吗?有没有其他方法我应该布置单元格以使用大小类并实例化它们?使用 -dequeueReusableCellWithIdentifier:forIndexPath: 创建的单元格具有正确的 traitCollection 和约束值,但我显然不能使用它来创建“原型”
iphone - 基于视图大小的自适应 UIPresentationController
我正在UIPresentationController
为我的视图控制器转向基于演示文稿,但对 API 感到有些困惑。
我有一个自定义侧边栏样式视图控制器演示文稿(类似于LookInside
WWDC 2014 演示代码)。
此类集群(UIPresentationController
、UIViewControllerTransitioningDelegate
和UIViewControllerAnimatedTransitioning
)在常规尺寸的类视图上将视图控制器呈现为屏幕边缘的侧边栏,并在紧凑尺寸的类视图上将相同的视图控制器呈现为全屏。
在 Resizable iPad 目标上进行测试显示了正确的行为:我将水平尺寸类设置为“紧凑”,并且我的视图控制器从侧边栏切换到全屏。
但是,我想要更多的粒度。当设备处于横向时,我想在 iPhone 6 和 6+ 上使用侧边栏样式的视图控制器演示,并为所有纵向的 iPhone 使用全屏样式演示。
所以在我的方法中
我实现了一些逻辑来检测侧边栏是否会占用过多的屏幕,假设我使用以下条件:
然而,这无济于事。状态的文档UIPresentationController.overrideTraitCollection
:
使用此属性来指定要应用于呈现和呈现视图控制器的任何特征。您指定的特征会覆盖当前对视图控制器有效的任何现有特征。此属性的默认值为 nil。
为该属性分配一个新值会导致演示控制器转换到新的特征集,这可能会导致呈现界面的动画。
将新值分配给呈现控制器不会导致我呈现的界面发生任何变化。(即使我指定了overrideTraitCollection
从对象UIPresentationController
内创建的时间UIViewControllerTransitioningDelegate
。)
我错过了什么?UIPresentationController
是否可以在更精细的级别上执行自适应演示?
ios - 用于更新大小类的 UITraitCollection 类
我应该使用 UITraitCollection 类来更新大小类约束吗?这是更新约束的最佳实践吗?
我已经通过了UITraitCollection,但不知道如何区分纵向和横向?
objective-c - 防止 UIPopover 在 iPhone 6 plus 横向显示为 UIPageSheet
我正在尝试显示popOver
带有UISlider
内部的 a,以允许用户控制textSize
a 的WKWebView
。
这是我的做法:
在自定义中ViewController
,我只是添加了一个委托来获取UISlider
我也实现了这个方法:
除了 iPhone 6 Plus 在横向(即紧凑高度)之外,所有设备都可以正常工作,它显示popover
为UIPageSheet
注意:我在 a 中展示了aUIbarButtonItem
中的弹出框detailViewController
UISplitViewController
ios - iPhone / iPad 的 UITraitCollection 保持不变
在 iOS 8.3 中,我展示了一个带有以下代码的视图控制器:
在我的 iPad 模拟器中演示后,我在方法中检查了我的视图 ( po self.traitCollection
)的 UITraitCollection 属性,viewDidLoad()
这是我得到的:
我将模拟器从 iPad 切换到 iPhone(5s 或 6),但在我看来,我仍然获得了常规水平尺寸类特征。iPhone 应该具有 Compact 水平尺寸类特征。
由于水平尺寸类是错误的,因此从情节提要中加载了错误的尺寸类设计。任何想法为什么框架提供错误的大小类?
ios - viewDidLoad 和 self.traitCollection 未定义
我看到在 viewDidLoad 中未定义 self.traitCollection 的时候:
如果我进行以下简单演示 - 未设置特征(在 viewDidLoad 中:)
但是,如果我使用 UIModalPresentationCurrentContext ,则设置特征(在 viewDidLoad 中:)
仍然奇怪 - 如果我按如下方式插入导航控制器,则设置特征(在 viewDidLoad 中:即使使用全屏演示模式)
显然我的“解决方案”是使用 CurrentContext - 但我不清楚这是一个错误还是我理解的差距。任何指针都将受到欢迎。
我正在使用 iOS 8.3
谢谢
ios - UITraitCollection - 快速到 Objective-C
我正在尝试将swift转换为objective-C。下面是我的代码:
迅速
Objective-C 头文件
.m 文件
我的猜测是 overrideTraitCollectionForChildViewController 没有正确转换。对此的任何帮助都会很棒。
ios - iOS8 更改 UIPopoverPresentationController 特征集合
我正在 iphone 和 ipad(iOS7 和 iOS8)上部署一个应用程序。
我正在使用带有尺寸等级的故事板,基本上我有一个适合 iPad 布局的基本尺寸等级 Any-Any 和适合所有 iphone 型号的 Compact-Regular。
iPad 版本中的一些视图控制器带有自定义的滑入/滑出序列,其他的带有弹出框。
虽然它在 iOS8 上的 iOS7 ipad 上完美运行(因为 xcode 构建了不同的故事板),但我遇到的问题是弹出窗口中显示的内容选择了 iphone 界面。
我以通常的方式呈现它:
检查代码我看到呈现的视图控制器有一个UITraitCollection
CR。
有没有办法让它选择RR?
这里也是一个小样本