uiresponder相关内容
我认为当一个视图被触摸或点击时,它的处理程序首先被调用,然后它的父视图的处理程序被调用(向上传播). 但是如果超级视图的 userInteractionEnabled 设置为 NO,那么所有子视图和后代也被禁用以进行用户交互是真的吗?如果我们只想禁用主视图但不想禁用子视图怎么办? 解决方案 你不能那样做, 相反,您可以更改视图的排列方式,如下所示: 主视图 ->子视图 到
..
当父视图的 userInteractionEnabled=NO 时,其子视图将不接受触摸事件,即使它们的 userInteractionEnabled 属性设置为 YES. 有没有办法在子视图中仍然获取触摸事件? 解决方案 要获得一个让触摸通过但让其子视图处理触摸的视图,让该视图上的 userInteractionEnabled 为 YES,然后使用以下代码段: -(id)hitT
..
我正在尝试实现与 Apple 消息应用中底部文本输入栏类似的定位行为. 我尝试了很多方法,搜索了高低,有很多类似的问题,但没有一个令人满意. 指定: 视图底部有一个UIToolbar 工具栏是随着键盘的出现和消失而跟随键盘 当键盘可见时,工具栏应位于键盘顶部 当键盘隐藏时,工具栏保持(“停靠")在视图底部 建议的解决方案: 手动为工具栏设置动画以响应键盘外观通知
..
任务 UICollectionView 中添加单击手势,不要妨碍单元格选择. 我想要在 collectionView 的 no-cell 部分上进行其他点击. 代码 使用 XCode8、Swift 3. 覆盖 func viewDidLoad() {...collectionView.addGestureRecognizer(UITapGestureRecognizer(
..
我在 UICollectionViewCell 上长按时添加了自定义菜单控制器 [self becomeFirstResponder];UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"自定义操作"动作:@selector(customAction:)];[[UIMenuController sharedMenuControl
..
以下代码表达了我的问题:(它是自包含的,您可以使用空模板创建 Xcode 项目,替换 main.m 文件的内容,删除 AppDelegate.h/.m 文件并构建它) ////main.m//CollectionView 问题//#import @接口单元格:UICollectionViewCell@property (nonatomic, strong) UIBu
..
我有一个带有键盘通知的视图,例如 keyboardWillShow 和 keyboardWillHide 我使用的通知处理的所有代码均取自 Apple 的示例代码 "键盘配件" 当我第一次进入这个视图时,一切正常. 但是当我从它的子视图返回到这个视图时,每次我点击一个按钮时: [myTextField becomeFirstResponder]; keyboardWillSh
..
我认为当一个视图被触摸或点击时,它的处理程序首先被调用,然后它的超视图的处理程序被调用(向上传播). 但是如果超级视图的 userInteractionEnabled 设置为 NO,那么所有子视图和后代也会被禁用以进行用户交互,这是真的吗?如果我们只想禁用主视图但不想禁用子视图怎么办? 解决方案 你不能那样做, 相反,您可以更改视图的排列,如下所示: 主视图 ->子视图 到
..
我正在尝试弄清楚这是如何以正确的方式完成的.我试图描述这种情况: 我正在添加一个 UITableView 作为 UIView 的子视图.UIView 响应点击和 pinchGestureRecognizer,但是当这样做时,tableview 停止对这两个手势做出反应(它仍然对滑动做出反应). 我已经用下面的代码让它工作了,但这显然不是一个很好的解决方案,我相信有更好的方法.这是放在
..
我有一个自定义的 UIViewController,它的 UIView 占据了屏幕的一角,但除了上面有一些按钮和东西的部分之外,它的大部分都是透明的.由于该视图上对象的布局,视图的框架可以覆盖其下方的一些按钮.如果他们没有触及任何重要的内容,我希望能够忽略对该视图的任何触摸,但我似乎只能传递实际的触摸事件(touchesEnded/nextResponder 内容).如果我有一个不使用 touch
..
在我的应用程序中,我想禁用 UIWebView 对象显示的内容的复制/粘贴/剪切.为了实现这一点,我创建了一个 UIWebView 子类并覆盖了 - (BOOL)canPerformAction:(SEL)action withSender:(id)sender 方法: #pragma mark - UIResponderStandardEditActions- (BOOL)canPerform
..
我已将UIScrollView设为第一响应者.我需要在其后面的视图上将触摸事件维护为-touchesEnded:withEvent:方法.我尝试使用-nextResponder方法,但失败了.我尝试将-touchesEnded:withEvent:转发到其后面的视图,但失败了. 如何使它正常工作?除非它是第一响应者或以其他方式获取事件,否则UIScrollView将无法工作. 感谢您的
..
我正在Swift中制作一个NotePad应用程序,并且遇到了以下问题: 类型"Notification.Name"(也称为"NSNotification.Name")没有成员"UIResponder" 这些是我键入的代码行: @objc func updateTextView (notification : Notification) { let userInfo = n
..
我正在尝试在我的应用程序中实现UIKeyCommand快捷方式,并且在大多数情况下,它似乎可以正常工作.除非我在模式视图中显示CNContactViewController时,否则似乎有些奇怪:在关闭CNContactViewController之后,键盘快捷键仍会在可发现性HUD中显示,但即使整个显示视图控制器手动调用在关闭CNContactViewController之后. 这是来自
..
是否可以为多个UIControlEvent调用选择器? 这是行不通的,但是它会让您了解我要做什么. [self.slider addTarget:self action:@selector(sliderDidStopDragging:) forControlEvents:UIControlEventTouchUpInside, UIControlEventTouchUpOutside]
..
响应者链很酷. 特别是,能够将自定义操作发送给第一响应者,该响应者会冒犯到可能感兴趣的其他任何人:[[UIApplication sharedApplication] sendAction: @selector(commandToSend) to: nil from: self forEvent: nil]. 或者使用以下更少的自定义操作 [[UIApplication shar
..
背景 我正在尝试使UICollectionViewCell的行为类似于按钮(即,在触摸时进行动画暗化).我有只用UIButton填充单元格的想法.然后,该按钮将照顾被点击的视觉效果.但是然后,我需要将touch事件传递给父对象(UICollectionViewCell),以便按钮不仅消耗该事件.这样,我可以使用集合视图的didSelectItemAtPath来处理它.下面的问题是我试图弄清楚
..
我有一个看起来像这样的UIViewController: 我设置了所有相关的constraints. 当键盘出现时-我单击下面的UITextfields时,我试图将UIView向上移动. 我有以下代码: static func addRemoveKeyboardObserver(addObserver: Bool, keyboardMargin: CGFloat, view
..
我正在尝试实现与Apple消息应用程序底部文本输入栏相似的定位行为. 我尝试了很多方法,上下搜索,有很多类似的问题,但没有一个令人满意. 要指定: 视图底部有一个UIToolbar 工具栏用于跟随键盘的出现和消失 当键盘可见时,工具栏应位于键盘顶部 隐藏键盘后,工具栏停留在视图底部(“停靠") 建议的解决方案: 根据键盘外观通知手动设置工具栏的动画 此解决
..
我想将我自己的命令添加到选择菜单,但还要保留标准的“复制",“剪切"等命令.我用这个: UIMenuItem *myItem = [[UIMenuItem alloc] initWithTitle:@"My Command" action:@selector(myCommand:)]; [[UIMenuController sharedMenuController] setM
..