我有一个UIControl
子类,在触摸时会改变外观和大小,有点像iOS键盘的按钮在触摸时会变成打字机的手:
我不确定如何写它。我们的想法是在突出显示默认按钮形状时绘制不同的形状:
+---+
| |
+---+ | |
| | -> touch -> | |
+---+ +---+
但由于默认按钮小于突出显示的形状,因此较大的形状会被剪裁。我考虑过这些选择:
这种情况是否有最佳做法?
答案 0 :(得分:1)
以下是一些方法:
您可以在框架外绘图,只需确保myView.clipsToBounds
为False
。这将允许您在另一个视图内绘制视图范围之外,并绘制您想要的任何额外内容。
这可能是最干净的解决方案,但在我看来也有点“hacky”。另一种方法是脏的(如你所说)并重置帧大小。
最后一种方法是创建另一个视图(按下键)并将其放在原始(未按下的键)视图之上。
总而言之,它实际上取决于你在视图中绘制/显示的内容。