问题标签 [size-classes]

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.

0 投票
2 回答
4169 浏览

ios - 屏幕外 UITableViewCells(用于大小计算)不尊重大小类?

我在 UITableView 中使用自动布局和大小类,单元格根据其内容自行调整大小。为此,我使用的方法是,对于每种类型的单元格,您保留该单元格的屏幕外实例并使用systemLayoutSizeFittingSize它来确定正确的行高 - 此方法在StackOverflow 帖子其他地方得到了很好的解释。

在我开始使用尺寸类之前,这很有效。具体来说,我在常规宽度布局中为文本的边距约束定义了不同的常量,因此 iPad 上的文本周围有更多空白。这给了我以下结果。

之前和之后

似乎正在遵守新的一组约束(有更多空白),但行高计算仍然返回与未应用特定于大小类约束的单元格相同的值。屏幕外单元格中的某些布局过程没有考虑窗口的大小等级

现在我认为这可能是因为屏幕外视图没有超级视图或窗口,因此在systemLayoutSizeFittingSize调用发生时它没有任何大小类特征可以引用(即使它似乎确实使用了调整后的约束)边距)。我现在通过在创建 UIWindow 后将屏幕外大小调整单元添加为 UIWindow 的子视图来解决此问题,这会产生所需的结果:

固定的

这是我在代码中所做的:

向窗口添加不应该绘制的视图对我来说似乎是一种黑客行为。有没有办法让 UIViews 完全采用窗口的大小类,即使它们当前不在视图层次结构中?还是我还缺少其他东西?谢谢。

0 投票
1 回答
1055 浏览

ios - iPhone 5s 属于哪个尺寸等级,iPhone 6 属于哪个尺寸等级?

我有一种情况,我希望特定视图在 iPhone 5s 时为 55 像素高,在 iPhone 6 时为 65 像素高。

尺寸等级可以帮助我实现这一目标吗?如果是这样,我应该使用什么类?现在好像

“紧凑宽度 | 常规高度”适用于所有纵向 iPhone,但我真的想为 5s 和 6 设置不同的类别。这可能吗?

谢谢!

0 投票
1 回答
439 浏览

ios - iPhone 6 模拟器中的 UIView 大小增长不正确

对于 iPhone 5s,我的 ViewController 帧大小是 320x568,但是当我在 iPhone 6 模拟器中运行它时,视图大小将是 430x854。我尝试过使用尺寸等级,但不确定我是否正确使用它。我有用于滑动的滚动视图和页面控制器,所有项目都失去了它们的形成。

这里是记录值

0 投票
1 回答
106 浏览

ios - 切换大小类 Xcode

我刚刚使用两个大小类(Any/Any、Regular/Any)构建了我的 iOS 8 应用程序的 UI。现在我已经意识到,除了横向 iPhone 之外,我需要为每个设备和方向设置 Any/Any 配置(这里我想使用 Regular/Any 的配置)。

如何将配置从 Regular/Any 复制到 Any/Compact 并在 Size Class Regular/Any 中删除此配置?

0 投票
1 回答
3862 浏览

ios - 尺寸等级的紧凑宽度中的“常规高度”和“任意高度”有什么区别?

in Compact Width, NSLayoutConstraintsin 声明Any Height的效果与应用于Regular Height类的效果相同。

图像1

这些类之间有什么区别?

0 投票
3 回答
4910 浏览

ios - 如何处理 iPhone 6S Plus 的字体大小?

与其他屏幕尺寸相比,iPhone 6S Plus 的屏幕非常大。如果不以编程方式调整大小,我似乎找不到处理标签字体大小的好方法。

如何调整标签的字体大小,使其在 iPhone 5 上看起来更小,在 iPhone 6 Plus 上看起来更大?

0 投票
1 回答
637 浏览

ios - Can I load a UITableViewCell directly from a xib with a specific size class or trait collection?

I'm trying to do the following in my iOS app:

  • Embed a UITableView into a parent scroll view; the table view will have its frame expanded to show all its contents (I need to do this because the table view data is a small component of a much larger more complex screen, and I don't want nested scrolling behavior)
  • I have different layouts for iPhone and iPad, so the cells in this table view are using size classes defined in a table view cell xib.
  • Since I want the content size of the table view to be accurate, I don't think I can use UITableViewAutomaticDimenstion as the rowheight, so I implement tableView:heightForRowAtIndexPath: and load an instance of my tableview cell from the nib directly and store that view as a property with which I can figure out how tall the cell should be according to autolayout.

My problem stems here; when I load the cell directly from the nib, on iPad the cell uses the constraints and layout in the 'Any' size class as defined in the nib, which is incorrect because the iPad's layout uses the regular width class only in my nib. This causes my table view cell heights to be wrong and too large in my case.

What I need to know is if there's a way to force the trait collection on the cell I load, such that the proper constraints for my views are used on each device type. I can't seem to find anything in the docs that allows for this directly in UIViews, only in UIViewControllers and I'm not keen on holding an offscreen UITableViewCell in a random offscreen UIViewController if i can help it. Any ideas?

0 投票
1 回答
232 浏览

ios - iPhone 6 Plus 支持字体问题

我开始为我的应用程序添加 iPhone 6 支持。我不想使用 Size Classes,因为该应用程序也可以在 iOS7 上运行。我计划使用自动布局来定位视图,但我不确定如何处理字体大小。我想让 iPhone 6 plus 上的一些字体更大。如何使用没有大小类的自动布局来做到这一点?

0 投票
2 回答
677 浏览

ios - 如何知道当前的尺寸等级以及我的按钮是否显示?

我在我的项目中使用尺寸等级。

我有一个按钮,仅显示

  • 紧凑的宽度和紧凑的高度
  • 紧凑的宽度和常规的高度

其他尺码等级不显示此按钮。

在这个按钮上,我应用了一个特定的效果。但我只需要对我的 2 个尺码课程应用此效果。

就像是 :

是否可以实施?

0 投票
3 回答
296 浏览

ios - 用尺寸等级区分 iphone 4 vs 5 vs 6 vs 6+ 肖像

我为每种设备设计了不同的偏移量和元素大小。有没有办法为不同的iphone纵向设置不同的值(使用大小类或其他)(它们都是紧凑的|常规的)?

如果不是 - 解决此类任务的最佳方法是什么?

更新

例如,我有徽标,在每个(包括不同的 iphone)平台上,徽标的顶部偏移量是不同的(甚至以点为单位)。

我想避免这样的代码

//宇宙中的其他地方

此外,我不想为每个平台创建单独的故事板——更糟糕的是。