我正在为UIButton
的{{1}}设置rightView
。此外,我正在设置通过
UITextField
添加目标操作
UIButton
我想知道如何从指定为myButton.addTarget(self, action: "buttonPressed:", forControlEvents: .TouchUpInside)
的方法访问UITextField
,其方法签名如下:
buttonPressed
我试过了
func buttonPressed(sender: UIButton) {
}
但我似乎得到了sender.superview as! UITextField
。
此外,我无法使用标签,因为它已用于其他目的。
修改
有关详细信息,nil
发生在myButton.addTarget()
内,这就是我在视图控制器中没有UITableViewCell
{。}}的原因。
有人有什么想法吗?
答案 0 :(得分:1)
您的代码是正确的
我尝试如下,它正在为我工作
自定义textField
:
var textFiled = UITextField(frame: CGRectMake(20.0, 50.0, 100.0, 33.0))
textFiled.borderStyle = UITextBorderStyle.RoundedRect
let purpleImageButton = UIButton(frame :CGRectMake(0, 0, 10, 30))
purpleImageButton.backgroundColor = UIColor.blackColor()
purpleImageButton.setTitle("T", forState: UIControlState.Normal)
purpleImageButton.addTarget(self, action: "buttonPressed:", forControlEvents: .TouchUpInside)
textFiled.rightViewMode = UITextFieldViewMode.Always
textFiled.rightView = purpleImageButton
self.view.addSubview(textFiled)
功能buttonPressed
:
func buttonPressed(sender: UIButton) {
let textF : UITextField = sender.superview as UITextField
textF.text = "Hello"
}
点击之前
单击textField的按钮后:
希望你能找到问题所在。
这是Xcode版本6.1。所以,我的例子将按照Swift 1.1。