• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOSswift使用xib绘制UIView

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

目标:用xib绘制一个UIView,在某个ViewController中调用。

三个文件:ViewController.Swift    DemoView.swift     DemoView.xib


首先,可以专心将DemoView.xib画出来,别忘记DemoView.xib中UIView的一处设置



然后,写DemoView.swift文件,代码如下:

 

  1. class CoreView: UIView {  
  2.   
  3.     //MARK:  
  4.     //MARK: properties  
  5.      
  6.     @IBOutlet weak var makefriendsBtn: UIButton!  
  7.     @IBOutlet weak var networkBtn: UIButton!  
  8.     @IBOutlet weak var everyoneBtn: UIButton!  
  9.    
  10.     //MARK:  
  11.     //MARK: constraints  
  12.       
  13.     @IBOutlet weak var makefriendsBtnWidth: NSLayoutConstraint!  
  14.     @IBOutlet weak var networkBtnWidth: NSLayoutConstraint!  
  15.     @IBOutlet weak var everyoneBtnWidth: NSLayoutConstraint!  
  16.       
  17.       
  18.     //MARK:  
  19.     //MARK: functions  
  20.       
  21.     required init(coder aDecoder: NSCoder) {  
  22.         super.init(coder: aDecoder)  
  23.           
  24.     }  
  25.       
  26.       
  27.     // Only override drawRect: if you perform custom drawing.  
  28.     // An empty implementation adversely affects performance during animation.  
  29.     override func drawRect(rect: CGRect) {  
  30.         makeupUI()  
  31.     }  
  32.       
  33.      
  34.     func makeupUI() {  
  35.   
  36.         self.layer.masksToBounds = true  
  37.         self.layer.cornerRadius = 3  
  38.           
  39.         makefriendsBtn.layer.borderWidth = 1  
  40.         makefriendsBtn.layer.cornerRadius = 3  
  41.         makefriendsBtn.layer.borderColor = UIColor(red: 107/256, green: 167/256, blue: 249/256, alpha: 1).CGColor  
  42.         makefriendsBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Selected)  
  43.         makefriendsBtn.addTarget(self, action: "buttonSelected:", forControlEvents: UIControlEvents.TouchUpInside)  
  44.           
  45.         networkBtn.layer.borderWidth = 1  
  46.         networkBtn.layer.cornerRadius = 3  
  47.         networkBtn.layer.borderColor = UIColor(red: 107/256, green: 167/256, blue: 249/256, alpha: 1).CGColor  
  48.         networkBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Selected)  
  49.         networkBtn.addTarget(self, action: "buttonSelected:", forControlEvents: UIControlEvents.TouchUpInside)  
  50.           
  51.         everyoneBtn.layer.borderWidth = 1  
  52.         everyoneBtn.layer.cornerRadius = 0  
  53.         everyoneBtn.layer.borderColor = UIColor(red: 107/256, green: 167/256, blue: 249/256, alpha: 1).CGColor  
  54.         everyoneBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Selected)  
  55.         everyoneBtn.addTarget(self, action: "buttonSelected:", forControlEvents: UIControlEvents.TouchUpInside)  
  56.           
  57.           
  58.         makefriendsBtnWidth.constant = (self.frame.width - 32 - 29) / 3 + 10  
  59.         networkBtnWidth.constant = (self.frame.width - 32 - 29) / 3 + 2  
  60.         everyoneBtnWidth.constant = (self.frame.width - 32 - 29) / 3 - 2  
  61.           
  62.           
  63.     }  
  64.       
  65.       
  66.     func buttonSelected(button: UIButton) {  
  67.           
  68.         button.selected = !button.selected  
  69.           
  70.         if button.selected == true {  
  71.             button.backgroundColor = UIColor(red: 107/256, green: 167/256, blue: 249/256, alpha: 1)  
  72.         } else {  
  73.             button.backgroundColor = UIColor.whiteColor()  
  74.         }  
  75.     }  
  76.       
  77.       
  78. }  


下面就可以在ViewController.swift中调用了:

    1. var myView = NSBundle.mainBundle().loadNibNamed("DemoView", owner: nil, options: nil).first as? DemoView  
    2.           
    3.         myView?.frame = CGRect(x: 0, y: 0, width: self.view.frame.width-50, height: self.view.frame.height-140)  
    4.         myView?.center = self.view.center  
    5.           
    6.         if myView != nil {  
    7.             self.view.addSubview(myView!)  
    8.         } 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift—UITextField的基本用法发布时间:2022-07-13
下一篇:
swift创建tableView并实现协议发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap