objective-c - 如何在一个 UIToolBar 上添加第二行 UIBarButtonItems 以及如何在 UIBarButtonItem\UIButton 的某个具体位置处理单击事件?

标签 objective-c ios events uibutton uitoolbar

我正在学习 iOS 开发,有两个简单且相关的问题: 1. 如何将多行项目添加到一个 UIToolBar 中,这可能吗?我想要一个 UISearchBar 和一个 UIToolbar 上的两行 UIBarButtonItem(基于 UIButton)。我该如何实现? 2. 是否可以处理这种事件:点击 UIButton`UIBarButtonItem` 上的特定位置?现在我只是在使用:

 const CGPoint touchLocation = [touch locationInView:button];

最佳答案

1.A.您可以尝试根据需要设置包含所有按钮的 View ,并通过其 initWithCustomView: 将其应用到工具栏(我认为这些按钮可能必须是常规按钮,而不是 barButtonItems,它不能框架如此灵活——在这种情况下,它的行为不会像工具栏那样。)但它会完全适合吗?如果不是,您可以尝试增加工具栏的高度,但会出现并发症:reframe toolbar

1.B.或者,您可以忘记工具栏并在屏幕底部制作您自己的 subview ,其中包含您选择的任何框架和您想要的任意数量的按钮。这会容易得多,并且可能不会引起 Apple 的关注。

2.A.查看 UIGestureRecognizer 及其子类 UITapGestureRecognizer。您可以使用它将任何 View 或 View 的矩形变成按钮。当它的委托(delegate)方法被调用时,你可以对涉及的图像/ View 做任何你想做的事情。

2.B.或者,您可以为自定义 UIButton (buttonWithType:UIButtonTypeCustom) 的按下/突出显示状态制作图像,该图像仅显示“十字”图像。这可能是更简单的选择。

关于objective-c - 如何在一个 UIToolBar 上添加第二行 UIBarButtonItems 以及如何在 UIBarButtonItem\UIButton 的某个具体位置处理单击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13169533/

相关文章:

javascript - 如何多次触发 '.click' 事件?

javascript - Mobile Safari 上的惯性滚动事件

ios - 如何动态为按钮分配方法

ios - ObjectiveC mutableCopy 如何在 swift 中工作

objective-c - 拖动输入: called but performDragOperation: not on IKImageBrowserView

ios - 我无法获得此 UIView 回合

ios - 试图关闭 Storyboard呈现的弹出窗口

objective-c - 我什么时候应该释放异步使用的对象?

ios - UITextView 和神秘的缺失空间

events - 如何防止 Richfaces 中的操作/事件重新加载页面?