我不知道这是否是提出这个问题的正确位置。
当我在UIImageView中显示时,我有一个图像。此图像视图采用全屏。在图像中有Facebook,Twitter和电子邮件按钮(实际上不是按钮 - 它是在图像中设计的)。
我想让facebook,twitter和电子邮件“按钮”可以点播并做点什么。这可能吗?
答案 0 :(得分:1)
你没有以正确的方式做到这一点。
大多数情况下,当你创建一个接口时,会有很多逻辑组件,每个组件都有自己的动作(动画/可点击/可编辑的组件)。对于每个不同的逻辑组件,您应该在其上放置不同的元素。
在您的情况下,我会为背景设置一个全屏UIImageView
,为其上的文字添加UILabel
(如果您的文字不会,您可以选择退出对它有任何影响,但这是我喜欢的,因为这样它在未来会更灵活)。除此之外,您还可以为可点击的元素添加UIButton
,例如,Facebook和Twitter按钮。
编辑:如果你只是讨厌制作单独的图像,你可以随时制作隐形按钮(没有任何文字的按钮)
答案 1 :(得分:0)
实施touchesEnded:withEvent:
方法并检查触控位置是否在图像中所需按钮的矩形内。
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesEnded:touches withEvent:event];
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.view];
if (CGRectContainsPoint(_facebookButtonRect, location))
{
// Do your stuff.
}
}
您还可以在图像视图的顶部放置隐形按钮。
答案 2 :(得分:0)
对于每个按钮:
1)将透明的UIButton
作为子视图添加到图像视图中。通过设置框架将其放置在图像上。使用alpha=1
和backgroundColor = [UIColor clearColor]
作为按钮。同时将按钮标题设置为“”。所有这些都应该给你一个隐形按钮,仍然可以响应触摸。
2)照常处理按钮点击事件。