我仍然是iPhone开发的老手,所以对于这个愚蠢的问题感到抱歉。我正在创建一个具有自定义数字键盘的应用程序。我有一个IBAction'buttonDigitPressed',当按下一个数字时,它只会将数字添加到UILabel。现在我有另一个标签,我希望这样做但我不确定如何获得该特定标签的“焦点”。我在第二个标签上放置了一个隐形按钮,所以当按下时,我可以调用一个动作将键盘从第一个标签切换到第二个标签。但我不知道如何实现这一目标。任何帮助将不胜感激!
答案 0 :(得分:0)
首先,必须在UILabel上放置一个隐形按钮是一件很蠢的事。如果您希望用户能够点击一个数字来表示“下次我点击一个数字,将其值附加到此数字”,如果您从一开始就使用UIButton,您可能会更高兴。你可以制作一个看起来非常像UILabel的UIButton(即它没有边框或背景颜色)。要在代码中设置UIButton的标题,请使用UIControlStateNormal状态调用setTitle:forState :.所以现在你已经有了tappable数字,即这些UIButtons。
好的,现在让我们假装你有三个UIButton。您需要在此处使用实例变量。所以,每个按钮都有一个动作 - 让我们说doButton:(id)发送者。所以doButton会在实例变量中存储sender(刚刚按下的按钮)的值。现在,您的buttonDigitPressed操作只是查看该实例变量以了解要追加的按钮。这是实例变量的强大功能的一部分 - 它们在类中给出一个方法来存储一个值,在同一个类中的另一个方法可以获取它。