Swift-代码片段

  1.storyboard跳转

   override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "row1" {
            //目的地
            let ctl :RowController = segue.destination as! RowController
            ctl.dataSource = ["row1","row1","row1"]
        }
    }
   switch indexPath.row {
        case 0:
            self.performSegue(withIdentifier: "row1", sender: self)
        default:
            self.performSegue(withIdentifier: "row2", sender: self)
        }

2.tabBar图片不渲染、设置文字颜色

//设置不被渲染的图片
var img:UIImage = UIImage.init(named: imageArr[index])!
img = img.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
            
var heightImg:UIImage = UIImage.init(named: heighImageArr[index])!
heightImg = heightImg.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
            
navCtl.tabBarItem.image = img
navCtl.tabBarItem.selectedImage = heightImg

//通过NSAttributedStringKey设置文字的颜色
navCtl.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.gray], for: .normal)
navCtl.tabBarItem.setTitleTextAttributes([NSAttributedStringKey.foregroundColor : UIColor.red], for: .selected)

3.通过字符串创建UIViewController

1.首先我们要获取命名空间
 let namespace = Bundle.main.infoDictionary!["CFBundleExecutable"] as! String
2.根据命名空间创建anyClass
 let str = namespace + "." + "HomeController"
 let cls:AnyClass = NSClassFromString(str)!
3.创建UIViewController
 let vcCls = cls as! UIViewController.Type
 let vc = vcCls.init()

注:项目命名不能带有特殊符号比如swift.cs这样的是不能正常创建控制器的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值