首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自UITextField的rightView参考

来自UITextField的rightView参考
EN

Stack Overflow用户
提问于 2015-06-12 07:17:45
回答 1查看 1.9K关注 0票数 0

我正在将UIButton设置为UITextFieldrightView。此外,我正在设置将一个目标操作添加到UIButton

代码语言:javascript
复制
myButton.addTarget(self, action: "buttonPressed:", forControlEvents: .TouchUpInside)

我想知道如何从指定为UITextField的方法(其方法签名如下所示)访问buttonPressed

代码语言:javascript
复制
func buttonPressed(sender: UIButton) {

}

我试过了

代码语言:javascript
复制
sender.superview as! UITextField

但我似乎得到了一个nil

此外,我无法使用标签,因为它已经在使用的另一个目的。

编辑:

有关更多信息,myButton.addTarget()发生在UITableViewCell中,这就是为什么在视图控制器中没有outletUITextField的原因。

有人有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-12 07:30:14

你的代码是正确的

我试过如下,这对我很有帮助

自定义textField

代码语言:javascript
复制
    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

代码语言:javascript
复制
func buttonPressed(sender: UIButton) {
    let textF : UITextField = sender.superview as UITextField
    textF.text = "Hello"
}

在点击之前

单击textField按钮后:

希望你能找到问题。

这里是Xcode版本6.1。因此,我的例子将与SWIFT1.1相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30797419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档