Swift下使用Xib设计界面

Posted ZGJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift下使用Xib设计界面相关的知识,希望对你有一定的参考价值。

虽然Swift可以纯代码设计界面,不过不利用现有的可视化工具有时候有点效率低。下面是使用xib设计方法,部分代码来自网上。

(1)新建View

 

 

 

2、新建View class

 

3、DemoView.swift中

class DemoView: UIView {

// MARK:- 创建视图
class func newInstance() -> DemoView? {
let nibView = Bundle.main.loadNibNamed("DemoView", owner: nil, options: nil);

if let view = nibView?.first as? DemoView {
return view
}
return nil
}

 4、ViewController中

class LoginViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
var myView = Bundle.main.loadNibNamed("DemoView", owner: nil, options: nil)?.first as? DemoView

myView?.frame = CGRect(x: 0, y: 0, width: self.view.frame.width-50, height: self.view.frame.height-140)
myView?.center = self.view.center

if myView != nil {
self.view.addSubview(myView!)
}
}

5、调用ViewController

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
window=UIWindow(frame: UIScreen.main.bounds)
window?.backgroundColor=UIColor.white
window?.makeKeyAndVisible()
window?.rootViewController=LoginViewController();
//window?.rootViewController=MainViewController()
return true
}

6、注意xib要设置

7、添加几个控件效果

8、点击两个圆环形状

9、Button上右键连线代码

 

 10、运行点击按钮看到控制台显示adfa.

 

以上是关于Swift下使用Xib设计界面的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 带有 xib 文件的自定义视图,IBOutlet 为 nil

使用Swift在Xcode 9中不显示IBDesignable UI

如何在swift中按下按钮从另一个xib文件加载另一个xib文件

使用同一个 XIB 的多个 Swift 故事板项目

使用 .xib 设计 Self-Sizing UITableViewCell,单元格不会在界面生成器中自行调整

将数据从 TableViewController 传递到 XIB 文件而不使用 Segues-Swift 3