草庐IT

UIResponder

全部标签

iphone - 如何取消一系列 UITouch 事件?

我有一个响应触摸事件的UIImageView。我想取消触摸序列,即,如果触摸超出特定范围,则进一步调用touchesMoved:。我该怎么做?我知道在touchesMoved:中我可以检查触摸对象的坐标并忽略它,但我不知道如何完全取消序列。我没有看到AppleDeveloperUIResponderReference中记录的任何方法我可以调用它来取消触摸序列。 最佳答案 这个解决方案可能有点笨拙,但你可以实现并手动调用-(void)touchesCancelled:(NSSet*)toucheswithEvent:(UIEvent*

ios - UIGestureRecognizer 接收触摸但也将其转发给 UIControl

如何让UIView的UIGestureRecognizer接收触摸事件,同时确保另一个底层/覆盖UIView也接收触摸事件收到完全相同的触摸事件?假设我有以下View层次结构:ViewA(蓝色)和B(红色)都是同一个父View(灰色)的subview。换句话说,他们都是sibling,顺序决定了他们中的谁覆盖了另一个。选项1:ViewB(红色)有一个常规的UIButton作为其subview。选项2:ViewA(蓝色)有一个常规的UIButton作为其subview。为了便于解释,给出了选项1:ViewA(蓝色)附有UITapGestureRecognizer(或者甚至更多,其他UIG

ios - UIGestureRecognizer 接收触摸但也将其转发给 UIControl

如何让UIView的UIGestureRecognizer接收触摸事件,同时确保另一个底层/覆盖UIView也接收触摸事件收到完全相同的触摸事件?假设我有以下View层次结构:ViewA(蓝色)和B(红色)都是同一个父View(灰色)的subview。换句话说,他们都是sibling,顺序决定了他们中的谁覆盖了另一个。选项1:ViewB(红色)有一个常规的UIButton作为其subview。选项2:ViewA(蓝色)有一个常规的UIButton作为其subview。为了便于解释,给出了选项1:ViewA(蓝色)附有UITapGestureRecognizer(或者甚至更多,其他UIG

ios - 如何使用 swift 在 UIResponder 子类中将属性重新声明为可读写?

我正在尝试遵循本指南,但使用的是swift:InputAccessoryViewdockedatbottom我似乎无法为我的ViewController设置inputAccessoryView,根据文档,我需要重新声明它:Thevalueofthisread-onlypropertyisnil.Ifyouwanttoattachcustomcontrolstoasystem-suppliedinputview(suchasthesystemkeyboard)ortoacustominputview(oneyouprovideintheinputViewproperty),redecla

ios - 如何使用 swift 在 UIResponder 子类中将属性重新声明为可读写?

我正在尝试遵循本指南,但使用的是swift:InputAccessoryViewdockedatbottom我似乎无法为我的ViewController设置inputAccessoryView,根据文档,我需要重新声明它:Thevalueofthisread-onlypropertyisnil.Ifyouwanttoattachcustomcontrolstoasystem-suppliedinputview(suchasthesystemkeyboard)ortoacustominputview(oneyouprovideintheinputViewproperty),redecla

ios - 键盘存在时如何使 UITextField 向上移动?

如何防止UITextField被键盘隐藏? 最佳答案 我假设这是在UIViewController上发生的。如果是这样,您可以设置以下两个函数在键盘显示/隐藏时调用,并在它们的block中做出适当的响应。设置UIViewController:classViewController:UIViewController,UITextFieldDelegate...{varframeView:UIView!首先,在viewDidLoad()中:overridefuncviewDidLoad(){self.frameView=UIView(f

ios - 键盘存在时如何使 UITextField 向上移动?

如何防止UITextField被键盘隐藏? 最佳答案 我假设这是在UIViewController上发生的。如果是这样,您可以设置以下两个函数在键盘显示/隐藏时调用,并在它们的block中做出适当的响应。设置UIViewController:classViewController:UIViewController,UITextFieldDelegate...{varframeView:UIView!首先,在viewDidLoad()中:overridefuncviewDidLoad(){self.frameView=UIView(f

ios - 如何在保持单元格选择的同时向 UICollectionView 添加点击手势?

任务向UICollectionView添加单击手势,不妨碍单元格选择。我想在collectionView的无单元格部分进行一些其他点击。代码使用XCode8、Swift3。overridefuncviewDidLoad(){...collectionView.addGestureRecognizer(UITapGestureRecognizer(target:self,action:#selector(tap)))}funccollectionView(_collectionView:UICollectionView,didSelectItemAtindexPath:IndexPath

ios - 如何在保持单元格选择的同时向 UICollectionView 添加点击手势?

任务向UICollectionView添加单击手势,不妨碍单元格选择。我想在collectionView的无单元格部分进行一些其他点击。代码使用XCode8、Swift3。overridefuncviewDidLoad(){...collectionView.addGestureRecognizer(UITapGestureRecognizer(target:self,action:#selector(tap)))}funccollectionView(_collectionView:UICollectionView,didSelectItemAtindexPath:IndexPath

ios - EXC_BAD_ACCESS 点击 uisearchbar 三下

我正在尝试将UICollectionView中的搜索栏实现为UICollectionViewReusableView这样我不使用UISearchController但我正在更改collectionview的数据源在我的自定义布局中,我以这种方式添加搜索栏:overridefuncprepareLayout(){super.prepareLayout()varsearchBarAttributes=UICollectionViewLayoutAttributes(forSupplementaryViewOfKind:TeacherSearchbarIdentifier,withIndex