我有一个UITableViewAutolayout,当GADBannerView屏幕底部出现时我需要降低高度.
不幸的是,使用Autolayout无法修改框架.解决方案是删除Autolayout并手动设置框架.这是非常危险的,因为我的所有应用程序在3.5'和4.0'显示上工作正常并删除自动布局导致新的测试阶段和更多的努力.
即使启用了自动布局,有没有办法改变帧?
虽然有很多关于构建故事板布局的问题和答案,它可以在4"和3.5"屏幕尺寸上工作,但我找不到适合以下场景的解决方案.
我使用autolayout和ios6(和ios7),我不需要支持landscpae或ipad.我有一个带有几个子视图的UIView,它们必须看作下面的模型.可以轻松地在故事板中设置自动布局约束以适应任一屏幕尺寸.我的问题是 - 如何根据运行时的屏幕大小使autolayout选择正确的约束?

请注意,我不想使用2个不同的故事板.在我的整个应用程序中这样做将需要做很多工作,而且我必须在每个故事板上连接所有代理,出口和操作.屏幕上的变化需要我做两倍的工作.
我已经尝试了两种方法在一个故事板上完成这项工作,但我对其中任何一个都不满意.

如果只有界面构建器约束具有将在屏幕大小为3.5"时应用的辅助常量值,那么它将解决我的问题.所以我仍然问我的问题 - 如何正确使用单个故事板来正确布局其子视图屏幕尺寸为4"和3.5"?
我正在调整我的UI应用程序,但我遇到了一个我无法解决的问题.
我可以看到Compact高度会影响4.7英寸以下的所有iPhone,但我的用户界面很好,除了iPhone 4S(3.5英寸).
我不想修改4.7英寸以下的所有iPhone的布局,只需要修改iPhone 4S,同时我不想遗漏这个设备.
有任何解决方法,所以我可以设置修正案,但仅适用于3.5英寸的肖像?或者我应该告别那里的1亿台设备?
我知道这是一个棘手的问题,几乎是民意调查,但从技术上讲,我想在这里找到最好的方法.
我学会了如何使用仿射变换旋转视图(参见此处).我还了解了自动布局(参见此处和此处),甚至是程序化的自动布局(参见此处和此处).但是,我不知道如何让自动布局与旋转视图一起使用.
此图显示了我想要做的事情:

我认为问题来自宽度和高度因旋转而变化.有没有办法让旋转视图填充它的超视图?是否有一些技巧可以使自动布局工作或旋转后它是不兼容的?
(我只学过Swift,但如果你更熟悉的话,我会很高兴通过Objective-C答案.)
按照@ VinayJain的建议,我做了以下事情:
为子视图的所有边上的间距约束创建了IBOutlets.
@IBOutlet weak var rightSpace: NSLayoutConstraint!
@IBOutlet weak var leftSpace: NSLayoutConstraint!
@IBOutlet weak var topSpace: NSLayoutConstraint!
@IBOutlet weak var bottomSpace: NSLayoutConstraint!
Run Code Online (Sandbox Code Playgroud)旋转子视图
subview.transform = CGAffineTransformMakeRotation(CGFloat(M_PI_2))
Run Code Online (Sandbox Code Playgroud)改变了网点的限制
self.rightSpace.constant = CGFloat(0)
self.leftSpace.constant = CGFloat(0)
self.topSpace.constant = CGFloat(0)
self.bottomSpace.constant = CGFloat(0)
Run Code Online (Sandbox Code Playgroud)但就在这一点上,我意识到我并不需要改变间距值.我希望间距保持为0.我只需要它来调整自己.然而,旋转混乱了.效果如下图所示:
我希望iPhone 6 +,6和5的每个视图看起来几乎相同.在附图中,我的意思是,例如,"取消"按钮应该是iPhone 5中屏幕左边缘30像素, 6 x为35 px,6 +为45 px,其他元素为+ px.
如何为每种类型的特定约束大小放置?如果我在约束中使用比例,那么按钮会增长,但是它们的大小不受控制,元素之间的空间也不能改变.具有特定约束大小的大小类我也不能使用,因为cW aH对于5和6个iphone是相同的.(据我所知).
我无法弄明白该怎么做.6和6+的不同设计通常如何管理?

如何只在一个设备上更改约束的值.例如,我想为iPhone 4以外的所有iPhone显示400px高度的按钮,我将用300px显示它?
ios ×6
autolayout ×5
iphone ×2
xcode ×2
objective-c ×1
rotation ×1
size-classes ×1
swift ×1
uitableview ×1