首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >更新为iPhone5制作的XIB以与iPhone6和iPhone6 Plus配合使用

更新为iPhone5制作的XIB以与iPhone6和iPhone6 Plus配合使用
EN

Stack Overflow用户
提问于 2015-01-18 03:37:09
回答 2查看 1.1K关注 0票数 3

我已经在我的应用程序中创建了几个没有自动布局和大小类的xibs。

当我在实际设备上运行应用程序时,它在iPhone6上运行得很好,但在iPhone6 Plus上,视图只显示在屏幕的一侧。

所有xibs上的元素都设置为使用自动调整大小,如下所示:

添加关于如何构建我的xibs的信息:自动调整大小已设置为如下所示:当在iOS < 7.0的iPhone上使用app时,视图上的所有对象都停留在相同的位置,其中背景图像(覆盖整个视图)位于状态栏下方;在IOS7及更高版本中,背景图像在状态栏下可见。这是在应用程序中的所有视图上完成的。

问题是无论我怎么尝试,包括自动布局和大小类到xib都搞乱了一切。有没有什么简单的方法可以将我的视图转换为使用自动布局,这样相同的视图(设计用于iPhone5分辨率| iPhone 4英寸)可以被更改,使它们在iPhone6 +分辨率下看起来相同?如果自动调整大小保持其设置的方式,那就太好了。

我试过使用几种技术和建议的约束,但图像有时只增加高度(不保持纵横比),背景图像粘在屏幕的一侧,标签大小不会增加。iPhone6和6 Plus分辨率的资源也已添加到项目中。

EN

回答 2

Stack Overflow用户

发布于 2015-04-23 06:03:40

这是我在需要处理同样的问题时发现的:

1)如果不想使用自动布局,可以使用缩放模式。苹果在iOS8上添加了这个聪明的小技巧,让所有以前的iPhone 5应用程序都可以在iPhone 6上运行,而无需对iPhone 6进行任何修改。要使用它,你不能在项目属性上设置带有iPhone 6分辨率的启动图像(但你需要为iPhone 5设置一个图像,这样它就可以知道你支持iPhone 5,而你必须将启动屏幕文件留空)。这样,当在iPhone 6/6+上运行你的应用程序时,iOS将使用缩放模式,并且你的所有视图都将被正确缩放,以与其屏幕完美地协同工作。这是可能的,因为新的屏幕保持了与iPhone 5屏幕的纵横比,所以iOS基本上只需要将你的位置/尺寸乘以正确的屏幕尺寸比例。但是,如果您将iPhone 6的特定分辨率图像设置为某些XIB,我不确定这是否仍然有效。

这个解决方案基本上意味着你选择忽略iPhone 6的存在,而继续为旧设备编程。

2)如果你真的想放弃自动缩放模式,为iPhone 6制作一个更新的应用程序(苹果公司希望你这么做),你可以做到这两种方式中的任何一种:

  • Use自动布局。这是苹果希望每个人都使用的标准,尽管一开始很难驯服,但你会真正地喜欢上它。不过,我现在已经放弃了使用Autolayout,因为我在iOS6和7上运行我的应用程序时发现了一些问题,我现在不能不支持这些问题(你可以在两个XIB,一个iPhone 4/4s/iPod Touch4和一个iPhone 5/5s/6/6+上阅读更多关于它的信息。请注意,我建议您为Apple设计的每个设备的纵横比保留一个XIB。由于使用给定XIB的设备的纵横比是相同的,您可以使用自动调整蒙版来放大您的视图。所有内容都将保持正确的纵横比。

我现在使用第一个建议(缩放模式),而我在iOS6和7上运行的自动布局的问题还没有得到解决。

票数 5
EN

Stack Overflow用户

发布于 2015-04-23 06:43:01

我认为您使用自动调整蒙版大小的方式是正确的。也许在其中做一些调整可以解决你的问题。

您附加的图片是对象的自动调整大小属性,并预览了此设置的行为。

像你一样设置自动调整大小的蒙版,将固定你的对象相对于它的superview的距离,但由于你没有灵活地设置宽度(框内未选中的箭头),系统将不得不在将对象定位在容器的左侧或右侧之间进行选择以解决冲突,并且您的对象可能位于左侧(默认行为...您可以在自动调整蒙版大小的预览小窗口中确认这一点)。

尝试将宽度设置为灵活,并确保superview的设置也配置为可缩放(灵活的宽度和灵活的高度)。

我正在开发一个从iOS4开始的项目,支持iPhone和iPad,每个屏幕只使用一个xib,只需使用自动调整蒙版属性设置视图比例行为,所以我非常确定你也可以做到。

如果您有相同的布局,请不要使用2个xibs。在大多数情况下,这是一种非常糟糕的做法,您将在稍后尝试更新布局、添加按钮或其他任何东西时强调这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28006896

复制
相关文章
C/C++未定义行为
下面是一段代码,这段代码中有标准未定义的行为。代码如下: #include<iostream> using namespace std; int main() { int j = 0;
zy010101
2020/04/16
3.7K0
气流组织优化—数据中心节能的魔术手
引言 1946年数据中心诞生于美国,至今已经历4个阶段近70年的发展历程,数据中心从最初仅用于存储的巨型机,逐渐转向多功能、模块化、产品化、绿色化和智能化。在越来越注重节能和精细化的今天,数据中心的每一个细节设计都闪耀着工程师智慧的光芒。他们对于数据中心的规划设计,不再满足于仅停留在功能这一基本的要求上,现在的数据中心你会看到更多关于节能环保及工程之美、绿色之美等设计理念。 评价数据中心的优劣,与其提供的服务质量,成本控制及绿色程度密切相关。能够提供稳定及具备高可用性的服务是对云服务商和数据中心的基本要求。
腾讯数据中心
2018/03/16
2.6K0
气流组织优化—数据中心节能的魔术手
解决调用未定义 swoole_async_readfile函数问题
https://github.com/swoole/swoole-src/issues/2439
全栈程序员站长
2022/07/11
4.1K0
解决调用未定义 swoole_async_readfile函数问题
c++使用了未定义类型_c++如何新建
第一个参数是一个指向SECURITY_ATTRIBUTES结构体的指针,一般的情况下,可以是nullptr。
全栈程序员站长
2022/11/09
2.7K0
IE11出现"__doPostBack”未定义
  系统做迁移,在新服务器IIS上部署,部署后的系统在IE8和其他浏览器上显示正常,
_一级菜鸟
2020/07/22
2.6K0
优雅地创建未定义类PHP对象
在PHP中,如果没有事先准备好类,需要创建一个未定义类的对象,我们可以采用下面三种方式:
硬核项目经理
2019/11/21
2.9K0
ubuntu gcc编译时对’xxxx’未定义的引用问题
http://www.cnblogs.com/oloroso/p/4688426.html
bear_fish
2018/09/19
8.3K0
[Error] invalid use of incomplete type 使用了未定义的类型
今天在写奥特曼打大怪兽的时候,发现一个奇怪的问题,我定义了两个基类Ultraman和Monster,一个Monster的子类Boss,然后两个基类是有相互勾结的地方,它们都或多或少的使用了对方的类型进行定义自己,然后我在第一个类实现前面进行了另一个类的声明:
叶茂林
2023/07/30
5590
[Error] invalid use of incomplete type 使用了未定义的类型
Array find方法在UC浏览器未定义
今天发现用UC浏览器访问一个项目出现bug,后来检查出来原来UC浏览器并没有find方法(但它有filter方法),所以写了以下垫片。。。
javascript.shop
2019/09/04
2.7K0
C 和 C++ 中的未定义行为
theme: channing-cyan highlight: a11y-dark
鲸落c
2022/11/14
4.5K0
Oracle中日期字段未定义日期类型的案例一则
可能很多开发规范中都写了日期类型的字段,应该就是用标准的日期类型定义,不要用字符串、数值型等替代,相关历史文章,如下所示,
bisal
2022/05/14
3.4K0
[毕设] 更大尺度下自装配规律探索-基于于乒乓球的气流无序装配实验
从DNA转录mRNA,再通过核糖体根据mRNA中碱基序列,将氨基酸组成肽链,肽链盘曲折叠形成蛋白质,组成细胞,构建肌体... 这一过程最为神奇之处,就是在于复杂的肌体,功能各异的器官,都是来自于同样DNA序列,也都经历了这样一个“生命装配”的自发过程。通过碱基对ATCG的排列组合,组成了我们这个复杂生物世界。
UDM Lab
2020/04/20
6460
Java-方法重载时 调用未定义的对象属性
public class TestWayReload { int id; String name; String pwd; public TestWayReload(){ System.out.println(“Hellow World!”); System.out.println("################"); }
Fisherman渔夫
2019/07/30
5.7K0
实现nest中未定义参数的入参校验
当我们在dto层定义好参数字段后,客户端在调用时传入了未定义的字段,此时我们需要报错告知客户端这个字段不存在,在nest中默认不会报错,本文将分享这个问题的解决方案,欢迎各位感兴趣的开发者阅读本文。
神奇的程序员
2022/04/10
3.5K0
实现nest中未定义参数的入参校验
vue在IE下无法正常工作,Promise未定义?
用vue写了一个日历组件,在Firefox、Edge、Chrome以及360等浏览器极速模式中运行一切正常,如图:
Yiiven
2022/12/15
4.3K0
vue在IE下无法正常工作,Promise未定义?
TiKV + Flink = 最佳人气流批一体库|TiDB Hackathon 2020 优秀项目分享
近日,由 TiDB 社区主办,专属于全球开发者与技术爱好者的顶级挑战赛事——TiDB Hackathon 2020 比赛圆满落幕。今年是 TiDB Hackathon 第四次举办,参赛队伍规模创历届之最,共有 45 支来自全球各地的队伍报名,首次实现全球联动。经过 2 天时间的极限挑战, 大赛涌现出不少令人激动的项目。为了让更多小伙伴了解这些参赛团队背后的故事, 我们开启了 TiDB Hackathon 2020 优秀项目分享系列,本篇文章将介绍 TiFlink 团队赛前幕后的精彩故事。
PingCAP
2021/02/22
6670
TiKV + Flink = 最佳人气流批一体库|TiDB Hackathon 2020 优秀项目分享
ThinkPHP报错“未定义数组索引”原因与解决方法
但是,大家有必要知道:thinkphp这个文件夹是框架的核心目录,一般我们是没必要修改的。要是框架核心文件报错,有可能是PHP版本的问题。
阿哲
2022/03/13
7.3K0
最新电子皮肤的触觉有多灵?连空气流动都能感受到
而如何让电子皮肤感受不同物体表面的差异,摸出不同粗糙度的那种,一直是个不小的挑战。
量子位
2021/07/19
3870
「我读」PL 观点 | 未定义行为有利的一面
Rust 官方团队 Ralf Jung 在 PL 观点 (PL Perspectives) 博客[1] 上发表了一篇文章 《Undefined Behavior deserves a better reputation》[2] ,文中对UB(未定义行为)有利的一面进行了详细的阐述。通过这篇文章,我们可以对UB 有更深入的理解。
张汉东
2021/11/25
1.7K0
点击加载更多

相似问题

当图像太大时,如何使用imagemagick来调整大小?

12

只有当图像太大时才调整图像大小

13

如果太大则调整图像大小

11

如果图像太大,请调整div的大小

10

当滚动时,UITableViewCell图像会被调整大小

34
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档