ios7 – iOS – 隐藏的配件在方向改变后变得可见

ios7 – iOS – 隐藏的配件在方向改变后变得可见,第1张

概述在我的情况下,我使用UITextField作为附件,我不需要一直显示.我已确认在方向通知事件触发后发生了更改.我想一个黑客将把配件调整到零高度,但我很谨慎这样做. 想知道是否有人遇到过此并找到了解决方案? 已输入错误报告并提供了示例项目.对于那些具有更高权限的人,可以在bugreport.apple.com上搜索到ID 16771757.我还将其复制到可以访问为https://www.dropbo 在我的情况下,我使用UITextFIEld作为附件,我不需要一直显示.我已确认在方向通知事件触发后发生了更改.我想一个黑客将把配件调整到零高度,但我很谨慎这样做.

想知道是否有人遇到过此并找到了解决方案?

已输入错误报告并提供了示例项目.对于那些具有更高权限的人,可以在BUGreport.apple.com上搜索到ID 16771757.我还将其复制到可以访问为https://www.dropbox.com/s/o28vo04ig3yhgz6/ID16771757.zip的DropBox帐户.

谢谢你的阅读.

解决方法 iOS为输入附件视图实例调用此类方法:

> [inputAccessoryVIEw setAlpha:1];当附件视图的所有者成为第一响应者时(内部方法调用 – [UIPeripheralHost(UIKitInternal)executeTransition:]);
> [inputAccessoryVIEw setHIDden:NO];当界面旋转完成时(内部方法调用 – [UIPeripheralHost finishRotationOfKeyboard:]);

这就是界面旋转事件后输入附件视图变为可见的原因.

解决方案取决于您期望的行为:
让我们假设输入附件视图高度= 44 – >
现在您隐藏输入附件视图并将所有者设置为第一响应者:
如果您希望inputAccessoryVIEw.frame.size.height等于0,则隐藏输入附件视图的解决方案将其设置为nil:inputAccessoryVIEw = nil;

如果您希望inputAccessoryVIEw.frame.size.height等于44,则隐藏输入附件视图的解决方案将覆盖setHIDden:方法:

- (voID)setHIDden:(BOol)hIDden {    [super setHIDden:self.customIsHIDdenFlag];}

其中customIsHIDdenFlag属性,您需要用于实现显示/隐藏附件视图的逻辑;

或覆盖setAlpha:方法:

- (voID)setAlpha:(CGfloat)Alpha {    [super setAlpha:(self.customIsHIDdenFlag ? 0 : 1)];}

这些解决方案适用于iOS 7.

对于iOS 6,您可以使用基本解决方案inputAccessoryVIEw.hIDden = YES并且它可以正常工作,因为iOS不会调用setHIDden:在触发界面轮换时自动为NO.

看来你是对的,这是iOS6和iOS7上不同行为的错误原因.如果Apple想要强制显示输入附件视图,那么他们应该调用setHIDden:NO不仅在界面旋转之后,而且在所有者成为第一响应者时.

总结

以上是内存溢出为你收集整理的ios7 – iOS – 隐藏的配件在方向改变后变得可见全部内容,希望文章能够帮你解决ios7 – iOS – 隐藏的配件在方向改变后变得可见所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存