首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Cocoa编程中视图控制器与视图类详解

UIView是iPhone屏幕上很多控件的基础类。每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView及其专门化子类构建的。...推入时,新的视图控制器从右方滑入屏幕(假定animated:YES)。向左指的Back后退按钮出现,可返回到上一步,且Back按钮用的是上一个视图控制器的标题。 2....;   提示:UIViewController 有一个属性是navigationController,如果当前ViewController在某个NavigationController的堆栈中 的话(即是被推送过来的...其描述了导航栏上显示的内容,而正好UIViewController另有一导航项属性navigationItem包括左栏按钮(leftBarButtonItem)、右栏按钮(rightBarButtonItem...)和栏标题(title)、用于显示标题的视图(titleView),以及用于从当前视图向后导航的Back按钮(backBarButtonItem)和隐藏后退按钮(hidesBackButton)。

5.1K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )

    在 Name 栏 设置 方法名称 ; b . 在 Event 栏 设置 方法触发动作 ; c . Touch Up Inside 即 点击方法 ; d ....容器 中 ; 3.添加按钮 : 添加两个按钮 , 两个按钮的功能分别是 生成 UIView 控件 和 清空 UIView 控件 ; ---- ( 3 ) 在 ViewController.m...: 在 Connect 对话框中 设置 名称 和 类型 , 然后点击 Connect 按钮 , 然后生成代码 ; 3.查看生成的代码 : 点击 Connect 按钮后 , 会自动根据 类型 和...输入方法名称 , 选择控件类型 , 选择触发操作 , 选择传入的参数 即可生成点击方法 ; // 上一张 图片 - (IBAction)lastImage:(UIButton *)sender { }...进行下一步设置 ; 4.设置文件路径 : 在 弹出 的 对话框中 设置代码的路径 , 这里直接使用默认值即可 ; 点击 Create 按钮 , 即可生成 对应的 ViewController 代码

    4K40

    将模型添加到场景中 - 在您的环境中显示3D内容

    在本教程中,我们将学习如何检索模型并使用按钮的触发器将其呈现在场景中。一旦显示,我们将隐藏焦点方块。...在右侧,我们有ViewController.swift,在那里我们可以找到该出口的声明。单击并拖动左侧的圆圈,它应该是第15行,然后释放到ARSCNView上。现在,关闭助理编辑。...添加按钮功能 我们刚刚在屏幕上添加了按钮,但它根本没有做任何事情。当我们触摸它时,让按钮执行某些操作。现在,打开Assistant编辑器并控制将故事板中的按钮拖到ViewController类。...我们刚刚完成了这个功能,现在,我们准备在点击按钮时在场景中显示我们的模型。...焦点方块隐藏/显示选项 当我们在屏幕上显示模型时,我们仍然看到焦点方块干扰了我们漂亮的模型。如果我们在安置后隐藏它,你怎么说?

    5.5K20

    【 iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

    Caculater ② 组织名称 han ③ 组织标识 cn.han ④ 所使用的语言 Objective-C ④ 设备 iPhone ; 4.选择所在目录 : 选择一个目录, 注意 这个目录 是项目的上一级目录...; 4.加法按钮 : 点击按钮, 将用户在 UITextField 输入的字符串转为 int 类型, 相加, 将结果转为字符串显示在 最后一个 UILabel 中; ---- ( 3 ) 界面编辑...ViewController.h 界面中的按钮点击方法前的圆圈 中, 此时圆圈会变成 , 此时**按住鼠标左键, 拖到按钮控件上**, 此时按钮控件与点击方法就关联起来了; 4.解除按钮与点击方法关联...Button 按钮 : 从右侧的对象库中 拖一个 Button 控件到 Main.storyboard 中; 2.设置按钮的背景 : 在 Button 的 background 属性中设置图片名称...All rights reserved. // #import "ViewController.h" @interface ViewController () //定义要操作的主要按钮, 即显示头像的按钮

    5K30

    Xcode:处理故事板的更好方式 享受Interface Builder的提示和技巧

    您需要为每个ViewController分配storyboard ID,这很容易出错:每次要在代码中使用ViewController时都需要对此ID进行硬编码 如何在项目中连接不同的故事板?...2.对storyboard文件和关联的viewController子类使用相同的名称。 这将简化命名约定,并在建议#3中为您提供一些好处。...当您想要按下按钮导航到下一个viewController时,只需为此按钮添加一个IBAction,并在代码中初始化此viewController:当您采用建议#3时,它实际上是一行代码。...在这种情况下,从按钮拖动到“退出”出口是期望代码已经在您的项目中。 通常,当您为按钮创建动作插座时,它会将代码放在拥有该按钮的同一个类中。...对于Unwind Segues,您需要在目标视图控制器中编写代码。 prepareForUnwind方法的所有缺点prepareForSegue方法(见前面的建议) 什么是更简单的方法?

    1.4K30

    iOS开发系列——Storyboard

    到目前为止我们还没有解释我们的程序是如何显示默认视图界面的。...那么如何在代码中读取两个TextField的值并通过点击按钮触发相关事件验证登录合法性呢?...(在Interface Builder中点击左下角“Show Document outline”显示控件结构树,选中相应的控件按住Ctrl键拖拽到代码中的属性或方法上) e.gif 3....(在Interface Builder中点击左下角Show Document outline显示控件结构树,选中相应的控件右键拖拽到代码中的属性或方法上) 5.对于前面几种方法其实我们还可以直接从代码拖拽到控件上面...g.gif 如果要删除关联,可以采用第三、第四种方式在控件上右键,在关联菜单中找到对应的关联删除即可。

    3.4K40

    iOS中的「回调(callback)」

    Objective-C中有4种途径可以实现回调: 1、Target-action/目标-动作对 先看代码: // 为按钮添加回调——Target-action/目标-动作对 // 第一个参数:发送消息给谁...可以翻译成这样的人话:MyCnetralManager委托ViewController做一件事——成功连接所有设备后,显示提示框。...如果有这个疑问,可以移步到我在知乎回答的问题:如何用简单明了的话解释一下什么是 Objective-C 中的委托?或许可以解答你的部分疑问。...;然后通告中心会转发通告出去;这时候在监测该通告的ViewController类收到通告后,就会执行相应的代码(回调)」。...利用Block实现回调 下面,来看一下如何用Block实现回调(实现上面一样的需求): 在MyCnetralManager.h文件 #import @

    3.5K30

    module & Swift库

    例如:当前的test.m被编译成目标文件test.o时,当前的目标文件就代表了一个module 这里有一个问题,module在调用的时候会产生开销,当使用一个静态库的时:@import TestStaticFramework...将子module中导入的头文件重新导出explicit:显示指明子module名称 官方文档 更多API可查看 官方文档 自定义module 搭建LGOCFramework项目 LGOCFramework...LGOCFramework,模块是framework 定义伞柄LGOCFramework.h 显示指明子module名称为LGTeacher,映射LGTeacher.h,将LGTeacher.h中导入的头文件重新导出...显示指明子module名称为LGStudent,映射LGStudent.h,将LGStudent.h中导入的头文件重新导出 项目编译后,在LGOCFramework.framework中的Modules...,Swift开始⽀持静态库 Swift没有头⽂件的概念,外界如何使⽤Swift中public修饰的类和函数?

    2.1K45

    Mac开发之 Cocoa 绑定 入门

    ). 2.为什么使用绑定在日常开发中,我们为了项目代码更易于维护,会将程序代码划分为独立模块或封装类,其中最基础的就是使用模型(M)-视图(V)-控制器(C)进行协调工作.然而,在某些情况下,编写相互分离的模型...Label显示的内容是son属性的score值 在Main.storyboard中选中Label,然后在选中Bindings Inspector标签,点击Values,勾选Bingd to为ViewController...,选择ViewController,在ViewDidLoad中,添加代码 (8)ViewController添加代码 设置socre的初始值 运行一下,你会发现并没有预想的结果,如果你使用Objective-C...son的socre值,在ViewController中,添加下面的代码后看看结果吧....,简化了开发步骤,同时也减少了Bug的可能. 3.2 绑定到控制器 在刚刚的例子中,我们将视图直接绑定在模型对象的属性上,跳过了控制器,这种情况对应简单的使用没有问题,但绑定还有更多的使用方式,也许你在签名的例子中已经注意到了

    1.9K20

    聊聊iOS开发之MVVM的架构设计

    MVC/MVVM都是就是设计模式的一种。 在MVC的架构中,Model持有数据,View显示与用户交互的界面,而ViewController调解Model和View之间的交互。...(ViewModel的数据可以显示到View上, View上的操作同样会引起ViewModel的变化),降低了ViewModel和View的耦合度。...*error))failure; @end 很明显viewModel仅仅只暴漏了视图控制器所必需的最小量的信息,设置readonly属性很有必要,同时,视图控制器C实际上并不在乎 viewModel是如何获得这些信息的...strong) id responseObject; /// 调起登录 - (void) login; 这样设计其实也合理的,ViewController的登录按钮被点击时,调用viewModel上的login...子ViewModel 我们必须明确:viewModel不必在屏幕上显示所有东西。

    8.8K92

    iOS 无侵入埋点组件总结

    2.1 实现可视化埋点核心问题 封装埋点组件,降低耦合 如何实现后台配置唯一标识 埋点上报 2.2 针对第一个问题想到的方案如下: 每个业务页面添加一个埋点类,单独将埋点的方法提取到这个类中。...例如所有的按钮被点击时,都会触发 UIApplication 的 sendAction 方法,我们 hook 这个方法,即可拦截所有按钮的点击事件。...很容易想到的就是使用目标 view到根之间的每个节点的深度(层次)组成一个路径,而节点的深度(层次)是指此节点在父节点中的 index。...这样确实能够唯一的表示此 view 了,但是有一个缺点:它的可读性很差。因此在此基础上又增加了每个节点的名称,节点的名称由当前节点的 view 的类名来表示。同时在开头都添加了一个页面名称作为标识。...因此,在 viewTree 中,由一个 view 到根节点之间的每个节点的名称与深度(层次)共同组成的信息构成了此 view 的 viewPath。

    3K31

    Apple的Core ML3简介——为iPhone构建深度学习模型(附代码)

    请注意,我只编写了两行代码并拖拽训练数据到目标文件夹,其余部分都由CreateML负责! Turi Create可以在Python中工作,而我们可以使用CreateML在Mac上构建程序。...我在Xcode窗口中突出显示了三个主要区域: 左上角的play按钮用于在模拟器上start the app 如果你看下面的play按钮,有文件和文件夹的项目。这称为项目导航器。...它帮助我们在项目的文件和文件夹之间导航 在播放按钮旁边写着iPhone 11 Pro Max。这表示要测试模拟器的目标设备 让我们先运行我们的应用程序,看看会发生什么。...点击左上角的播放按钮,模拟器就会运行。 你看到了什么? ? 目前,我们的应用程序还做不了什么。它只显示一个图像和一个按钮来选择其他图像-让我们做得更好!...如果想选择其他模型的话,你可以尝试在我们这里开发的同一个应用程序上使用SqueezeNet和MobileNet,看看不同的模型是如何在相同的图像上运行的。

    2.1K20

    问题——持续更新

    :首先必须先清空 ASI封装的两个问题: block   联想:C语言的函数指针 函数指针的声明: (首先要区分好变量名和数据类型) 拷贝、加括号、换名、加星号。...解决:实际就是视图上移; 实现搜索框的功能 Landscape (left home button)     Landscape (right home button) 限制程序只能是竖屏显示:在...适配问题 怎么根据网络上上的图片确定自己定义的cell的高度以及上面imageView的大小 uilabel  文字置顶??...如何获取全屏图片用于上传   command+S 10.4 新加: 为ViewController添加导航控制器(xcode6中将自动设置为根视图控制器)?...标签和按钮设置圆角效果的过程是不尽相同的,按钮可以直接设置,而标签需要首先将masksToBounds 设置为YES .

    1.3K20

    iOS开发--一步步教你彻底学会『iOS应用间相互跳转』

    内容分享,跳转到分享App的对应页面,如分享给微信好友、分享给微信朋友圈、分享到微博。 显示位置、地图导航,跳转到地图应用。...那么我们如何实现应用间的相互跳转呢?先来看下原理。 3. 应用间相互跳转实现原理 在iOS中打开一个应用程序只需要拿到这个应用程序的协议头即可,所以我们只需配置应用程序的协议头即可。...,那么在相同的模拟器中先后运行App-B、App-A,点击按钮,就可以实现跳转了。...添加LSApplicationQueriesSchemes数组,然后添加键值为AppB的字符串 添加白名单之后在相同的模拟器中先后运行App-B、App-A,点击按钮,就可以实现跳转了。...比如我们在浏览网页时,会有分享到微信朋友圈或是分享给微信朋友,这就需要跳转到微信朋友圈界面或是微信朋友选择界面。 具体如何做呢? 首先我们先来为App-B搭建两个页面Page1和Page2。

    1.4K30

    Android开发之Activity的创建跳转及传值

    iOS中的ViewController也是有自己的生命周期的,了解Activity或者ViewController的生命周期是很有必要的,这要你才能搞明白在什么时间做什么事情,关于iOS开发的东西请详看之前的博客...详细的看一下如何去添加控件并监听控件的事件。...intent.putExtra("extra_data", data); (3) 在新的Activity中我们需要获取传过来的值显示在TextView上,并且点击一个Back按钮返回到上一层Activity...因为我们传入的值是String类型的所以用getStringExtra(), 不同类型的值对应着不同的方法。然后把获取的值显示在TextView上。之后点击Button返回。...Activity中的TextView上显示ThirdActivity中返回的值,具体效果如下所示。

    3.3K100
    领券