iOS下可视化编程分为两种方式:Xib和StoryBoard。 相同点:都属于IB编程的?式,可以快速构建GUI。 不同点:Xib侧重于单文件(单独的控制器或者视图)编辑, storyBoard侧重于多页面关联。storyBoard可以直观的梳理出页面间的逻辑,并且所有页面跳转逻辑均可在 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender方法完成,方便界面间数据统一管理。 这里我们着重的来讲下下StoryBoard. 使用StoryB...
当你想将某些网络媒体数据载入你的app时,就避免不了和商家提供的数据格式打交道,主要途径就是通过数据交换格式展示给想开发的用户。现在主要的两种数据交换格式为XML,JSON。在iOS开发中,提倡使用JSON格式,但是不乏一些商家并没有提供JSON格式的数据。本文简单讲解以下XML解析的基础,供新手参考,也是共同学习,因为在网上大部分写的都不够详细。之后会写一些关于JSON格式的,感觉JSON比XML的解析还是更加简单易懂易用的。在i...
A.概念storyboard中的跳转事件连线,都是一个UIStoryboardSegue对象(Segue) 来源控制器 触发控制器目标控制器 跳转到的控制器 Segue的属性:每一个Segue对象,都有3个属性唯一标识@property (nonatomic, readonly) NSString *identifier;来源控制器@property (nonatomic, readonly) id sourceViewController;目标控制器@property (nonatomic, readonly) id destinationViewController; B.种类1.自动型action segue使用控...
一 oc基本数据类型1,id类型指向object-c对象的指针 可以指向任意的对象类型,可以将任意消息传递给id,id不支持该消息时,会返回运行时异常,"unrecognized selector send to instance xxx"消息;常用于表示类的委托属性,例:@property id<协议名> delegate;2,SEL类型,用来定义方法的关键字oc对象可以接受任何消息,但不一定能响应,通过方法:respondsToSelector()来判断对象是否能响应某个消息,保护代码,- (BOOL)respondsToSelector:(SEL...
UILabel主要是为了显示文本,UITextField主要是为了输入文本,UIButton可以显示文本并且响应事件。 在详细讲诉这三个控件之前,我想先讲一下UIView,其实UIView很好理解,就是之前讲UIWindow时的添加在画板上的画布。而它也非常的重要,在iOS中几乎所有可视化控件都是UIView的子类,这三个控件当然也包括在内。 如何用代码创建UIView://设置frame确定UIView对象的位置以及大小
UIView *view =[ [UIView alloc] initWithFrame:...
主要介绍下UIView得基本概念和一些属性的介绍至于属性的用户后面会由详细的介绍-、UIView基本概念1.什么是控件?屏幕上所有的UI元素都叫做控件 (也有很多书中叫做视图 组件) 比如 按钮(UIButton) 文本(UILabel)都是控件控件的共同属性有哪些?尺寸位置背景色...........苹果将控件的共同属性都抽取到父类UIView中 所有的控件最终都继承自UIView中 UIBUtton UIView都继承自UIView 父控件、子控件每个控件都是个容器 能够容纳其他...
1int main(int argc, constchar * argv[]) {2 @autoreleasepool {3 Person *p1 = [[Person alloc] initWithName:@"张三"];4 Person *p2 = [[Person alloc] initWithName:@"李四"];5 Person *p3 = [[Person alloc] initWithName:@"王五"];6//3创建一个数组 7 NSArray *array = [[NSArray alloc] initWithObjects:p1,p2,p3, nil];8 NSMutableArray *arraym = [[NSMutableArray alloc] i...
前言:学习ios开发有一段时间了,项目也做了两个了,今天看视频,突然发现view的frame和bound两个属性,发现bound怎么也想不明白,好像饶你了死胡同里,经过一番尝试和思考,终于弄明白bound的含义。PS:我承认我是一个很笨很笨的人。所以现在记录下来,供以后查阅,同时方便所有和我一样有疑惑的人查看。一、首先列一下公认的资料:先看到下面的代码你肯定就明白了一些:
-(CGRect)frame{
return CGRectMake(self.frame.origin...
//// ViewController.swift// Label//// Created by 赵士军 on 2019/11/18.// Copyright ? 2019 赵士军. All rights reserved.// import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad()//1导入框架 //#import <UIkit/UIkit.h> // import UIKit//2.定义一个标识符 //int a = 10; //swift 中定义标识符:必须制定该标识符是...
一、简单说明一般情况下,点击某个控件后,会做出相应反应的都是按钮按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置二、按钮的三种状态normal(普通状态)默认情况(Default)对应的枚举常量:UIControlStateNormal highlighted(高亮状态)按钮被按下去的时候(手指还未松开)对应的枚举常量:UIControlStateHighlighted disabled(失效状态,不可用状态)如果enabled属性为NO,就是处于disabl...
1:FCUUID获取设备标识的运用a:作者 githun地址 https://github.com/fabiocaccamo/FCUUID因为里面还用到作者的另外一个类UICKeyChainStore地址:https://github.com/kishikawakatsumi/UICKeyChainStoreb:在项目中添加 Security.frameworkc:导入头文件 #import “FCUUID.h"// 每次运行应用都会变+(NSString *)uuid;//changes each time (no persistent), but allows to keep in memory more temporary uuids+(NSString *)uuidForK...
iPhone 4(2010 年):初始系统: iOS 4.0(GSM 版) (苹果第一次采用 iOS 为移动系统命名),iOS 4.2.2(CDMA 版)可以升级至:iOS 7.1.2iPhone 4s(2011 年):初始系统:iOS 5.0可以升级至:iOS 8.4iPhone 5(2012 年):初始系统:iOS 6.0可以升级至:iOS 8.4iPhone 5c/5s(2013 年):初始系统:iOS 7.0可以升级至:iOS 8.4iPhone 6/6 Plus(2014 年):初始系统:iOS 8.0可以升级至:iOS 8.4 Q:为什么iphone1的时候没火,...
前言前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法。学习任何一门语言,首先要掌握的肯定是语法。学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算机、手机等硬件设备)进行交互。由于我们的最终目的是学习iOS开发,学习iOS开发的话必须在Mac系统下,因此我就在Mac系统环境下开发C语言程序,而不是在Windows环境下。接下来,就在Mac系统环境下编写第一个C语言程序,最后...
一,Xcode的.m扩展名表示文件含有Objective-C代码,应由Objective-C编译器处理。C编译器处理名称以.c结尾的文件,而C++编译器处理.cpp文件。在Xcode中,所有这些编译工作全由GCC处理,这个编译器能够理解C语言的全部3个变体。 二,Objective-C刚诞生的时候,扩展名.m代表message,指的是Objective-C的一个主要特性。 三,和C语言一样,Objective-C使用头文件来包含元素声明,这些元素包括结构体,符号常量,函数原型等。C语言使用#i...
继续对iOS开发基础-九宫格坐标(5)中的代码进行优化。 优化思路:把字典转模型部分的数据处理操作也拿到模型类中去实现,即将 ViewController 类实现中 apps 方法搬到 WJQAppInfo 类实现。 实例代码 在 WJQAppInfo.h 中添加一个向外公开的接口,其返回处理好的模型数组,方法定义如下:+ (NSArray *)appInfoArray; 实现代码如下: 1//WJQAppInfo.m。将数据处理部分搬到模型类中进行处理 2 + (NSArray *)appInfoArray {3 ...