相关疑难解决方法(0)

使用滑动手势关闭键盘(如在消息应用程序中)

当键盘显示在iPhone的消息应用程序上时,如果用户从消息表视图开始向下滑动并继续进入键盘区域,键盘将开始关闭.如果他们在此过程中上下移动手指,键盘会随之移动.

Apple是否使用私有API执行此操作,或者是否有一种方法可以控制键盘(我假设)手势识别器?

iphone uitableview uiresponder uigesturerecognizer ios

30
推荐指数
5
解决办法
2万
查看次数

键盘"WillShow"和"WillHide"与旋转

我有一个视图控制器监听UIKeyboardWillShowNotification和UIKeyboardWillHideNotification.这些通知的处理程序调整视图的各个部分,这是标准过程.

以下代码用于从屏幕坐标转换键盘rect:

CGRect keyboardBounds = [self.view convertRect:[keyboardBoundsValue CGRectValue] fromView:nil];
Run Code Online (Sandbox Code Playgroud)

再次,标准程序.不幸的是,存在这种转换失败的严重情况.看看在部署键盘时iPhone从纵向旋转到横向时会发生什么:

1)iOS自动触发UIKeyboardWillHideNotification ; self.interfaceOrientation报告为肖像 ; keyboardBounds.height是216.0.这是有道理的.为什么?因为在视图切换到横向模式之前,通知处理程序有机会"清理".

2)iOS自动触发UIKeyboardWillShowNotification ; self.interfaceOrientation报告为肖像 ; keyboardBounds.height是480.0.这没有意义.为什么不?因为通知处理程序将完成它的工作,认为键盘的高度是480.0!

苹果公司是否放弃了这个,或者我做错了什么?

请注意,倾听UIKeyboard而不是 ShowNoification不是有效的解决方案,因为它会显着降低用户体验.为什么?因为在键盘部署动画发生后动画我对视图的更改是...好吧,非常可怕.

键盘部署后,有没有人设法让自动旋转完美运行?Apple似乎完全忽略了混乱的爆发.>:|

iphone keyboard ipad autorotate ios

23
推荐指数
1
解决办法
1万
查看次数

使用UIScrollViewKeyboardDismissModeInteractive移动一个栏

我有一个文本字段,我锚定到键盘的顶部.我不能使用inputAccessoryView,因为它总是显示.我能够观察键盘隐藏/显示的通知,使用键盘上下移动它,但这似乎不适用于UIScrollViewKeyboardDismissModeInteractive.有没有办法获得键盘位置的持续反馈以同步动画?

uiscrollview ios

21
推荐指数
4
解决办法
5119
查看次数

在ios 7上动态扩展UITextView

我正在使用此代码

CGRect frame = self.mytext.frame;
frame.size.height = self.mytext.contentSize.height;
self.mytext.frame = frame;
Run Code Online (Sandbox Code Playgroud)

但它在iOS 7中不起作用.有谁知道为什么或有同样的问题?

编辑:

抱歉.我制作了一个UIView,一个UITextView和一个UIScrollView,所以我可以在我的uitextview展开中加载文本.

我在viewDidLoad中使用了这段代码

CGRect frame = self.moreDetailsTextView.frame;
frame.size.height = self.moreDetailsTextView.contentSize.height;
self.moreDetailsTextView.frame = frame;

CGRect moreViewFrame =  self.moreDetailsView.frame;
moreViewFrame.size.height = frame.size.height + 270;
self.moreDetailsView.frame = moreViewFrame;

int scrollViewHeight =  moreViewFrame.size.height + 235;
self.scrollView.contentSize = CGSizeMake(320, scrollViewHeight);
Run Code Online (Sandbox Code Playgroud)

这在ios6中运行良好,但是现在使用xcode5和ios7,当我在模拟器中测试应用程序时,uitextview不会扩展.

uitextview uiview ios7

14
推荐指数
3
解决办法
3万
查看次数