我在修改我的应用程序到新的iphone5布局时遇到问题,我做了以下过程:
应用程序按预期工作,除非用户弹出键盘编辑文本,我使用“拉伸scrollview”方法处理这种特殊情况,这似乎与我的小部件的“自动调整”属性不相容,这里是一个例子,来自iOS6模拟器,没有键盘和键盘:
以下是发生的事情:
我很确定这是一个连贯的行为,因为我的主视图被拉伸所以其中的其他项目在他们的锚定后被拉伸,事实是我想要具有我之前固定位置的相同行为(随着iphone5 gui扩展,所有小部件都固定在左上角),这有可能吗?
如何解决以iphone 5兼容方式显示键盘和滚动隐藏内容的问题?
答案 0 :(得分:0)
我遇到过类似的问题。根据我到目前为止发现的内容,我们可能需要在可滚动视图中删除视图上的所有约束,因为它的内容与scrollView的框架一起被调整大小。我知道在viewWillAppear中手动设置内部视图的框架会起作用,但是你会遇到一个iPhone4和iPhone5大小相同的视图(尽管它会滚动)。或者你可以在故事板中“固定内部视图的高度和引脚宽度”。
两种可行的方法。对不起,我无法确认这些,因为我放弃并重新设计这个问题
1.以编程方式向内部视图的子视图添加约束。程序性约束将允许您按比例“弹出”元素之间的距离。以编程方式添加约束时,您可以访问称为“乘数”的因子(不要与优先级混淆),我在stackoverflow上看到了其他人发布的内容。
2.您可以将Interface Builder中的internalView设计为带有.xib文件的单独viewController,然后使用storyboard将其作为嵌入式viewController加载到“containerView”对象,您可以将其作为新的“内部视图”放置到位“scrollView的。也许然后.xib将首先调整大小到正确的iOS设备,然后你可以使用它的框架来调整containerView的大小。
我的建议是在实施之前创建一个小测试用例,否则你最终会像我一样,花了几个小时走错路并面临死胡同。
更新12/4/12 不将ScrollView设置为ViewController的主视图,让您的生活更轻松。 - 相反,使ViewController.view成为一个虚拟/空白视图,并在该视图中嵌入一个scrollView。然后,在ScrollView中嵌入另一个视图(我的CustomView)。 CustomView包含所有可见控件和文本框和按钮。 CustomView上没有HEIGHT CONSTRAINT。