Tag: 控制器

iOS开发课程:导航控制器

如何在单个导航堆栈中使用某些屏幕构建应用程序? 如何管理导航项? 让我们在快速指南中回答这些问题! 导航控制器是一种容器视图控制器,它在导航界面中管理一个或多个子视图控制器。 在这种类型的界面中,一次只能看到一个子视图控制器。 在视图控制器中选择一个项目会使用动画在屏幕上推送一个新的视图控制器,从而隐藏先前的视图控制器。 在界面顶部的导航栏中点按后退按钮可删除顶视图控制器,从而在下面显示视图控制器。 阅读有关Apple Developer的更多信息 创建一个新的Single View App项目。 热键:shift + Command + N 打开主板 如何将导航控制器添加到情节提要中? 只需按: Shift + Command + L 选择导航控制器并将其拖动到情节提要。 凉。 您的第一个导航控制器已在现场。 查看throw Attributes Inspector(在右侧)。 这是导航控制器属性。 *将导航控制器设置为初始视图控制器 (该控制器在程序启动时加载) 让我们向显示第二个控制器的第一个控制器添加按钮。 只需按: Shift + Command + L 选择“条形按钮项”并将其拖动到“视图控制器导航栏”。 设置标题。 打开连接检查器。 将动作从“触发的Segues”部分拖动到第二个View Controller,然后选择“显示”选项。 在模拟器上运行项目。 想要制作大标题功能吗? 只需在导航控制器中选择导航栏。 打开属性检查器 安装程序优先选择大标题 *对于将UITableView作为视图的View Controller(或视图的第一个子视图) 大导航标题将在滚动时自动过渡。 在模拟器上运行项目。 […]

控制器和视图

我喜欢用代码编写UI,并且使用“自动布局”功能很容易。 但是,这给ViewController留下了大量代码。 我们可以做的一种方法是通过使用专用视图在MVC中将V与C分开。 感谢我的朋友Vadym向我展示了它。 我们可以使用generic来做到这一点,即初始化一个视图并替换该view ,我们称其为root 导入UIKitclass BaseController :UIViewController { 让root = T()覆盖func loadView(){ 视图=根 } } 现在我们可以有一个UIView子类,例如LoginView 最后一课LoginView:UIView { 惰性var textField:UITextField = UITextField()。然后{ $ 0.textAlignment = .center $ 0.borderStyle = .roundedRect $ 0.keyboardType = .phonePad }懒惰的var按钮:UIButton = UIButton()。然后{ $ 0.setTitleColor(.black,for:.normal) $ 0.backgroundColor = .lightGray }覆盖init(框架:CGRect){ super.init(frame:frame)addSubviews( 文本域, 纽扣 )约束 textField.centerXAnchor.constraint(equalTo:textField.superview!.centerXAnchor), textField.centerYAnchor.constraint(equalTo:textField.superview!.centerYAnchor), textField.widthAnchor.constraint(等于:textField.superview!.widthAnchor,常数:-20),button.topAnchor.constraint(equalTo:textField.bottomAnchor,常数:20), button.centerXAnchor.constraint(equalTo:button.superview!.centerXAnchor), button.widthAnchor.constraint(equalTo:textField.widthAnchor,乘数:0.8), […]