【问题标题】:iOS UIToolbar recognizes touchiOS UIToolbar 识别触摸
【发布时间】:2012-09-12 22:38:26
【问题描述】:

我以编程方式制作了一个垂直(外观)工具栏。使用 initWithFrame 我设置了工具栏的宽度和高度并将其发送到最右边。

现在我向工具栏添加了一个条形按钮项并为其设置了一个操作。但是当我单击工具栏上的任意位置时,正在发送操作消息。而且我查了发件人,发件人不是工具栏而是按钮。

我尝试在另一个水平放置的工具栏上,如果我在按钮附近单击,按钮会被视为已点击。而且由于现在我的工具是垂直的(但根据 iOS 是水平的),单击工具栏上的任意位置都会调用该函数。

我只想在单击按钮而不是工具栏时发送消息。

我想使用苹果提供的相机图标,所以我不赞成使用UIButton。 (我可以设置自定义图像,但如果我能避免这种情况会很好) 我也认为放置一个水平工具栏并使用 CGAffineTransform 可以解决问题。不过如果有干净的方法就好了。

【问题讨论】:

    标签: ios uitoolbar


    【解决方案1】:

    使用转换绝对是要走的路。

    通过this function 运行身份转换并将其设置为您的栏上的转换。我认为这是一个非常简单的解决方案。

    在使用普通帧初始化后立即设置变换应该不难。为避免拉伸,您可以使用已使用的值制作该帧,但交换 x 和 y。

    【讨论】:

    • 谢谢。 Itried rotaion,但它也旋转了工具栏按钮。所以我决定改用自定义按钮。顺便说一句,您知道如何禁用工具栏上的触摸但保持启用工具栏项目上的触摸吗?因为即使在水平工具栏中,单击按钮附近也会启动操作
    • 我不知道,但它可能只是操作系统认为您要点击按钮——请记住,这些应用程序是用拇指使用的,所以点击甚至比点击更大。如果要旋转按钮,也可以对其使用变换。只需使用工具栏上的相反角度将其转回原位。
    【解决方案2】:

    我不相信 UIToolbar 支持垂直方向;滚动您自己的类似工具栏的控件可能会更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多