swift用父类定义,子类实例化,怎么调用子类方法

临摹 2016-05-09 02:53:44
//定义
var cellField:UIControl!

func initFrame(controlType : String){
if(controlType == "01"){//根据controlType的不同,创建不同的控件
cellField = UITextField(frame: CGRectMake(0 , 0, 200, 20))
//以下这句报错,因为borderStyle是UITextField的方法,这里怎么能调用这个方法?
cellField.borderStyle = UITextBorderStyle.RoundedRect
self.addSubview(cellField)
}else if(controlType == "02"){
cellField = UISwitch()
}
}


因为borderStyle是UITextField的方法,所以报错了,虽然是用父类UIControl定义的,但实例化是以UITextField实例化的,需要怎么写才能调用UITextField的方法
...全文
693 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
蛋黄车 2016-05-09
  • 打赏
  • 举报
回复
if let cellField_tmp = cellField as? UITextField { cellField_tmp.borderStyle = UITextBorderStyle.RoundedRect self.addSubview(cellField_tmp) } 也可以自己再精简一下,主要是 as? 的使用,向下转换

1,420

社区成员

发帖
与我相关
我的任务
社区描述
Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于MAC OS和iOS平台,用于搭建基于苹果平台的应用程序。
swift 技术论坛(原bbs)
社区管理员
  • Swift
  • 网罗开发
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧