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

iOS开发系列——纯代码实现iOS开发

小编有个自己学习交流群681503716(验证编号:大鲨)在iOS学习道路上小伙伴可以加一下哦~ 直接在Xcode创建“Empty Application”(注意在Xcode6中这个选项已经没有了,...这里采用Xcode5.1),此时会发现已经没有ViewController和storyboard文件,我们需要手动创建一个视图控制(在项目中右键选择Objective-c class,默认继承自UIViewController...,这个控制距离UIWindow是最近;设置一个控制根控制和直接通过addSubView添加控制视图(view属性)到window并不完全一样(例如如果仅仅添加控制视图那么应用虽然可以显示但是不支持旋转...UIWindow对象,同时把我们视图控制KCMainController设置UIWindow根视图控制,然后设置这个UIWindow为主窗口并可见。...当主窗口设置可见过程中会调用视图控制loadView方法来加载视图(注意视图控制loadView方法是延迟加载,第一次调用视图控制view属性才会调用此方法;由于makeKeyAndVisible

3.5K60

WWDC - SwiftUI - 初恋般感觉

创建和组合视图 本篇文章通过一个构建应用(Landmarks,一个可以发现、分享你喜欢地点App)示例,来引导大家进行SwiftUI开发。...我们将使用SwiftUI框架来构建Landmark详情界面。 Landmarks利用stacks图片和文本组合起来来进行视图布局。你需要引用MapKit框架头文件来创建一个地图视图。...你可以通过Xcode实时反馈功能,来优化你视图布局 。 第一节 创建一个使用SwiftUIXcode项目。浏览画布、预览和SwiftUI模板代码。...当你构建Landmarks时候,你可以运用任何一个编辑来进行编码工作:直接修改源代码、通过画布、通过inspector view检查。...把body属性干掉,然后UIView(context:)协议方法来创建MKMapView。

3.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

导航面板中目录 文件 与 真实文件系统中目录文件不是对应; -- 逻辑分组 : Xcode 真实文件进行了逻辑分组, 并不是真实文件结构; -- 自定义分组 : 开发者还可以创建自定义分组..., 一个应用只需创建一次 UIWindow 窗口; -- FKViewController 属性 : 代表视图控制, 系统创建控制时, 通常会加载对应 xib 文件; -- 应用初始界面 : 在...文件中 : 按住 control 键不放, 按钮拖动到 UIViewController 中; -- 设置 IBAction 属性 : 在接下来弹出对话框中 Connection 列表设置 ...3 打开身份检查, 由身份检查上可以看到 其 Custom Class 属性 UIView, 因此该界面的根控件时 UIView; -- 创建自定义类 : 选择菜单中 File -> New...IOS 图标设置 IOS 图片设置 : 直接从文件目录图片拖动到 Xcode 相应设置中. -- 设置图标 : 在项目文件视图中, 点击 Images.xcassets, 选中左侧 AppIcon

4.9K30

扒虫篇-Bug日志 Ⅵ

Xcode中开发者账号登陆不上 ? 试了试其他账号也是一样,在账号密码没有输入错误情况下还是登陆不上。 解决办法:重启电脑就解决了。 2. Xcode9中往工程中拖入文件很容易报错 ?...很奇怪是,以前Xcode拖入文件时,这里m文件都会自动添加进来,但是Xcode9中会经常出现往工程中拖入文件 报 Undefined symbols for architecture x86_64...10.UIView添加边框时Bug 这个问题也不是难,就是隐藏性比较强,稍不注意,不认真分析,想当然的话就会被困住很久。 ?...,为什么变成这样?...这是因为:self.whiteBgView高度是0,造成,我晕。正确设置,self.whiteBgView高度动态设置好了后再加边框,这样就不会出现这样问题了。

80450

NativeScript和React Native对比

一、NativeScript原理        NativeScript是一个基于Apache 2.0许可Github开源项目。既不是一种新型JavaScript语言,也不是原生功能封装。...原数据是在各个平台上预先构建提供类型和方法签名全部可用API集合。...类型转换模块JavaScriptString类型转换为一个java.lang.String对象 运行时环境java.io.File创建一个代理对象 通过该代理将对原有JS File对象调用委托给相应...NativeScript可以将其所支持平台上任意原生API作为目标,包括传感接口API和用Objective C,Java或.NET编写第三方库。...,它 rootView 继承自 UIView,所以可以在部分 View 是使用,很方便混着,不需要重写整个 app,而且混用时候还需要显示地 API 暴露给 JavaScript NativeScript

3.9K10

UIKit Dynamics:开始入门 —《Graphics & Animation系列一》

Motion Effects可以创建很酷视差效果,就像在倾斜iOS 7主屏幕时看到一样。基本上,我们可以利用手机加速计提供数据来创建对手机方向变化作出反应接口。...UICollisionBehaviorDelegate协议: class ViewController: UIViewController, UICollisionBehaviorDelegate { 在viewDidLoad中,在初始化碰撞对象之后视图控制设置委托...itemBehaviour.elasticity = 0.6 animtor.addBehavior(itemBehaviour) 上面的代码创建一个项目行为,将其与方块关联,然后行为对象添加到动画设计中...弹性属性控制着物品弹性; 值1.0表示完全弹性碰撞; 也就是说,在碰撞中没有能量或速度丢失地方。 我们方块弹性设置0.6,这意味着每次反弹时平方失去速度。...然后创建一个新捕捉行为,方块对齐到用户触摸位置,并将其添加到动画制作工具中。 构建并运行应用程序。

1.8K30

【IOS开发基础系列】Autolayout自动布局专题

虚线方块是根据自动布局显示视图frame。实线方块是根据你在屏幕上放置视图frame。这两个应该吻合,但是这里并没有。 Note:你可能会奇怪,为什么Xcode不为X轴方向自动增加一个约束。...Xcode规则是:Xcode只为那些你没有设置任何约束对象创建自动约束。一旦你增加一个约束,你便是告诉Xcode你接管了这个视图。...Xcode将不再增加任何自动约束,并希望你这个视图增加需要约束。...--距离父视图上侧距离0(距离0的话也可省略)同时v2垂直方向高度和v1设置成相同  [self.viewaddConstraints:[NSLayoutConstraint constraintsWithVisualFormat...ZXPAutoLayout详细教程点此- github地址点此 //设置一个背景半透明红色view,上下左右四边都距离superview距离10 UIView *bgView = [UIView

28440

从预编译角度理解Swift与Objective-C及混编机制

这是因为 Xcode 编译能够符合某种格式 #import 语句自动转换成 Module 识别的 @import 语句,从而避免了开发者手动修改。 ?...Header Search Path 是构建系统提供给编译一个重要参数,它作用是在编译代码时候,编译提供了查找相应头文件路径信息,通过查阅 Xcode Build System 信息,...除此之外,CocoaPods 在处理头文件问题上还有一些让人迷惑地方,它在创建头文件产物这块逻辑大致如下: 在构建产物 Framework 情况下 根据 podspec 里 public_header_files...不过这里还是要提一句,如果你对生成接口有困惑,可以通过下面的方式查看编译 Objective-C 生成 Swift 接口。 ?...为了解决这种对编译版本依赖,Xcode构建产物上提供了一个新产物,Swiftinterface 文件。 ?

2.1K31

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

控件 : 1.创建 UIView 控件 : 使用 UIView alloc init 方法 , 创建 UIView 控件 ; //1....根 View 组件 , 然后 生成 UIView 控件添加到 该 根 View 控件中 ; //4....UIView 属性 和 子控件操作 ( 1 ) 创建 设置 应用 ( ① 创建应用 | ② 设置界面尺寸 ) 创建 设置 应用 : 1.创建应用 : ① 点击 Create a new Xcode project...设置 : 其 文件 创建在了 代码目录下 , Xcode引用 放在了根目录 , 此时 将其拖动到 代码路径中即可 ; 设置完毕后情况 : 5.设置启动 UI 文件 : 选中 Xcode... nil 解决方案 : 1.拖入目录方法 : 在 pic 目录 拖入 Xcode 中时 , 需要选择 Create groups 选项 , 不能选择 Create folder reference

3.6K40

《Motion Design for iOS》(十七)

让我们先添加一个简单UIView对象到屏幕上并设置它圆角。我们要把它添加到我们主窗口上时因为它是一个快速例子,但在真实app界面中你需要添加到管理当前界面的视图控制中。...这里是和上面一样功能,但是是Swift而不是Objective-C写。你可以打开Balls In Swift Xcode工程导出这个例子Swift版本。...iOS提供了一些内置技术来创建动画:创建并添加一个CAAnimation到我们之后要讨论layer中,或者使用简单基于block动画方法来动画化UIView值。...让我们创建一个基于block动画来圆从1.0扩大到2.0倍,这会让它变成原来两倍大。...你可以手动构建转变矩阵来包含尺寸和平移更改到一个数据结构中,但我发现让iOS来帮我们结合多个单独转变到一个最终转变会容易一些。 到目前为止有意义吗?

94020

MyLayout和XIB或SB混合使用方法

构建一个应用MVC框架中,我们希望模型、视图、控制这三部分都尽可能低耦合,而苹果推荐视图部分构建则是通过XIB或者SB来完成。...取消对AutoLayout支持 第二步就是视图控制根视图类名转化为对应布局视图类: ?...布局套布局 上图中我中间视图UIView类改为了MyLinearLayout。并设置了orientation属性1也就是水平线性布局方向,同时设置了水平线性布局四周边界10。...当然如果您不想在XCODE界面编辑中设置布局视图各种属性,而是想通过界面编辑来建立视图,然后通过代码设置属性或者要设置界面编辑无法设置布局属性时。...因此当你用TangramKit进行界面布局时,您可以在XCODE界面编辑中将对应界面视图添加上去。然后通过建立插座变量来在代码中设置各种布局属性。

86040

iOS UI 自动化测试原理以及在 Trip.com 应用实践

XCUITest 是集成在 Xcode测试框架,若想使用 UI 测试功能,可以在创建 iOS 项目时勾选 Include Tests 选项,从而使项目具备自动化测试能力。...而当我们 UIImageView 和 UIView isAccessibilityElement 属性设置 true 时, UIImageView 和 UIView 元素才能在元素层级中可见。...,提供一系列用来控制 iOS 模拟命令。...基于 Web Service 架构设计 App 自动化测试平台架构设计 从前文中我们了解到,我们可以利用 Xcode 创建 UITest Target,编写 UITest Case 测试脚本,辅以...Server 能够 Client 请求转发给 WebDriverAgent 创建 Web Service,然后经过 WebDriverAgent 内部路由/wd/hub/session 进行映射

2.1K40

iOS14开发-入门知识

开发软件 iOS 使用 Xcode 工具进行开发。可以在 App Store 搜索安装,也可以去 Apple 开发者网站下载安装(本教程基于 Xcode 12)。...Cocoa Touch 层应用程序开发提供了各种有用框架,并且大部分与用户界面有关,它负责用户在 iOS 设备上触摸交互操作以及一些其他关键功能。 创建第一个iOS项目 ?...UIView与UIViewController 初步印象 iOS 开发中,一个界面就是一个 UIViewController(视图控制),界面上显示内容就是 UIView(视图)。...UIView常见方法 addSubview:添加视图到父视图。 removeFromSuperview:视图从父视图中移除(需提前讲解触摸方法)。...insertSubview:在指定视图上/下面插入视图。 bringSubviewToFront:把视图移到最顶层。 exchangeSubviewAtIndex:2个位置视图互换。

2.8K40

Objective—C语言新魅力——Nullability、泛型集合与类型延拓

Nullability主要用武之地,就是在这里,它可以起到提示开发者做是否空得判断提示。         ...激动吧,使用点语法可以访问到数组中泛型方法了,还有更加诱人: ? 在我们向这个数组中追加元素时候,编译元素类型提示了出来,并且FromArray方法中需要元素类型也提示了出来。...,这个东西有怎样用处,我用文字描述不清楚,我们可以通过自己来定义一个集合类来理解: 创建一个类,继承于NSObject,我取名叫MyArray: //这个类型通配符只能在interfave里使用,作用域...可以看到,字典键值类型编译我们提示了出来,结合上面类型通配符使用,对于多参集合,参数类型用“,”隔开即可。...这个修饰符就是告诉编译,这里可以返回UIView子类指针。

99130

iOS开发UI篇--一个支持图文混排ActionSheet

项目演示如下: 3-1.gif 二、使用说明 第一步、构建数据模型 @interface Item : NSObject @property (nonatomic , strong) NSString...*icon;//图片地址 @property (nonatomic , strong) NSString *title;//标题 @end 第二步、根据数据模型构建数据 Item *item1 = [...:item1,item2,item3, nil]; 第三步、使用以上数据控件初始化 PicAndTextActionSheet *sheet = [[PicAndTextActionSheet alloc...注意点: 如果tableview处于uiview上面,uiview整个背景有点击事件,但是我们需要如果我们点击tableview时候,处理tableview点击事件,而不是uiview事件。...解决方案如下: 1、实现代理: 2、让gesture设置代理 UITapGestureRecognizer *tapGesture = [[

73050

《Motion Design for iOS》(二十五)

在本指南之前章节中,我解释了分解一个动画各个组成部分有多么重要,这样你就可以准确地构建它。仅仅说“警告框动画进入屏幕”是不够,你需要准确地知道发生了什么。让我们来分解这个动画。...屏幕随着渐入一层半透明灰覆盖变暗。 警告框从完全透明以及比1.0倍大大小开始,并动画至100%不透明和1.0倍大小。 消失时候,它会淡出完全透明并且比例会动画减小到比1.0要小。...阴暗覆盖层淡出并消失。 在我们进入详细代码之前,让我们看看我们要完成警告框是什么样子。 首先让我们创建一个简单有白色背景应用窗口。...这是在应用delegate类中,并且代码会在app完成启动时候就立即运行。你可以在Alert View 1 Xcode工程中参考代码。...如果我们现在立马运行它,它只会在模拟中(或者你手机,如果连接了的话)运行一个空、白色应用屏幕。现在来创建我们覆盖层,将其添加到屏幕上,并将透明度设为0.0,因为我们现在不想显示它。

27050
领券