![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UI
xiaotangguofeifei
这个作者很懒,什么都没留下…
展开
-
UI10_TableView的编辑
我们先铺一个tableView然后将tableView设置成属性.另外我们在进行初始化的方法的时候会用到一个数组arr为了方便我们将其设置成属性.至于上面方法的内容可以寻找前面的内容有详写1.添加编辑按钮edit和doneself,navigationItem.rightBarButtonItem=self.editButtonItem;2.直接打开tableView的可编程模式[self.tabl原创 2015-08-11 19:25:05 · 226 阅读 · 0 评论 -
UI07_导航视图控制器-从后往前传值
以协议的方式进行从后往前传值1.声明一份协议@protocol SecondViewControllerDelegate<NSObject>//协议方法main更需要用参数,谁用返回值.需要什么就要设置什么要做的事情-(void)changeValue:(NSString *)value;@end2.设置代理人的属性@property (nonatomic, assgin)id<Second原创 2015-08-08 11:45:22 · 324 阅读 · 0 评论 -
UI07_导航试图控制器及从前往后传值
导航视图控制器高度是44,上面的状态栏高度是20.加在一起默认是64;item是内容bar是样式1.加标题第一种方法:self.title=@"猫眼电影";第二种方法:self.navigationItem.title=@"猫眼电影";2.背景颜色的设置self.navigationController.navigationBar.barTintColor=[UIColor blueColo原创 2015-08-08 11:27:19 · 326 阅读 · 0 评论 -
UI14_GET-POST-BLOCK(网络请求的同步异步)
前期总结 同步请求时什么都不能做,异步是请求时可以做其他的事情.get是一封信就能读出所有内容,post是需要两个信才能读出来一个body体和主信 同步和异步GET请求在步骤上完全相同,只是在第三步同步使用的是sendSyn的方法,异步使用的是代理的方法,异步是基于同步进行的操作总结网络请求的步骤 1.根据网址的字符串,创建一个URL的对象 2.根据这个URL对象,创原创 2015-08-19 22:06:29 · 434 阅读 · 0 评论 -
UI16_数据持久化(NSUserDefaults,简单对象,复杂对象归档反归档,文件管理者"删除添加文件")
苹果手机为了保证自己的数据上得绝对安全设计了沙盒,每一个应用程序都配备了自己的沙盒文件,每一次运行,文件夹的名字就会变成一个没有任何规律的字符串.1沙盒里有多少文件夹?沙盒里一共有三个文件夹1.ducuments文件:主要是用来存储用户的想要存储的一些信息,比如收藏的信息或者自己设置的一些内容,所以我们做收藏功能就是往这个文件夹里写文件2.library文件:这个文件夹是方便程序开发者使用的,主原创 2015-08-19 19:45:42 · 486 阅读 · 0 评论 -
UI23_显示侧边栏(LeftSlideViewController)
侧边栏主要是app的功能显示的效果和过程点击左上角的按钮,左边弹出左边视图.再点击收回左边视图.我们在当前的UIViewController中的导航栏navigationItem上创建左边按钮的点击的效果.然后在点击方法填写回到主window的代码和转换关闭开启视图的状态.而左视图的内容部分我们用另一个UIViewController显示左视图内容的代码部分**在.m文件中****1.定义两个属原创 2015-08-29 18:09:44 · 804 阅读 · 0 评论 -
UI22_动画
分三部分讲述:UIView动画,transform动画,layer动画UIView动画有两种形式:**第一种形式:** UIView提供的动画方法:NSTimerInterval(double类型) duration动画的时间间隔 [UIView animateWithDuration:3 animations:^{原创 2015-08-29 11:18:26 · 301 阅读 · 0 评论 -
UI11_block练习
前期准备工作:铺一个tableView,签署协议,初始化.这里面初始化我们会设置一个数组.我们做文章的部分是delegate的点击协议部分delegate的点击协议-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //写一个参数是NSString *的block原创 2015-08-13 21:10:52 · 265 阅读 · 0 评论 -
UI21_基类(封装网络请求)
前述部分:我们自己创建一个类为了简化代码**1.在类的.m文件中**用多态进行创建对象+ (NSMutableArray *)baseModelByArr:(NSArray *)arr;**2.在类的.h文件中**+ (NSMutableArray *)baseModelByArr:(NSArray *)arr{ //创建一个数组,用来装model NSMutableArr原创 2015-08-27 11:36:55 · 475 阅读 · 0 评论 -
UI11_快捷菜单
目的:长按cell然后出现删除等快捷键图标 前期准备工作和前面都相同只是到了tableView的关于cell协议的时候有变化 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *reuse=原创 2015-08-12 21:21:15 · 604 阅读 · 0 评论 -
UI06_UIScrollView
UIScrollView继承UIView.可以通过创建UIView的四部对UIScrollViewself.view.backgroundColor = [UIColor whiteColor]; UIScrollView *scrollView=[[UIScrollView alloc]initWithFrame:self.view.frame]; scrollView.backg原创 2015-08-08 17:23:59 · 416 阅读 · 0 评论 -
UI27_多长时间移除
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ //要移除的视图 [self.playGifImageVIew removeFromSuperview]; });原创 2015-09-25 11:57:46 · 254 阅读 · 0 评论 -
UI29_UIAlertAction(UIAlertView和UIActionSheet的结合体)
//初始化方法.继承与UIViewController //设置设置Title、message 、preferredStyle //preferredStyle只有两种:UIAlertControllerStyleAlert和UIAlertControllerStyleActionSheet,是分别代表要代替的UIAlertView和UIActionSheetUIAlertCon原创 2015-10-13 21:06:08 · 382 阅读 · 0 评论 -
UI08_UItableView(关于cell滑动条消失,隐藏cell线,解决cell的线不对应问题)
初始化设置(需要我们输入相关的内容时我们是需要设置)-(instancetype)initWithNibName:(NSString *)nibNameOrNilboudle:(NSBundle *)nibBundleOrNil{ self=[super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self)原创 2015-08-08 15:44:58 · 1737 阅读 · 0 评论 -
UI28_KVO(key-value-observer键值观察者) 通知中心
1.移除通知中心[[NSNotificationCenter defaultCenter]removeObserver:self];2.KVO的简述监控对象里的属性值需变化,只有值发生变化就会触发这个方法.监听属性的值的变化一定要用设置器,否则监听无效.给这个对象注册一个监听者告诉监听者当前是哪个类对应的对象3.使用过程(1)注册,指定被观察的属性(2)实现回调的方法(3)移除观察 se原创 2015-10-12 08:53:53 · 421 阅读 · 0 评论 -
UI02_UITextField及各类继承关系
继承关系第一级:NSObject(代表性次:alloc和init) | |第二级:UIReponer(数据类 ) NSString,NSArray,Model数据类 | |第三级:controller(Model)View(视图)UIView子类:UILabel(原创 2015-08-01 15:56:36 · 297 阅读 · 0 评论 -
UI01_UILabel(加粗,文字是否高亮,文字是否可变,文字是否自适应label宽度)
创建UILabel的前期准备工作1.我们之前选择手动管理内存所以要在@implementation AppDelegate对创建的方法进行释放-(void)dealloc{ [_window release]; [super dealloc];}如果在扩展里设置了属性也要在上面的方法中进行释放2.在- (BOOL)application:对window进行创建了所以也要进行释放原创 2015-07-30 20:40:22 · 562 阅读 · 0 评论 -
UI25_UISearchBar
1.初始化UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake( 0, 0, 100, 30)];[self.view addSubview:search];[search release];2.搜索框的占位符[search setPlaceholder:@"搜索文本"];3.顶部的提示文本,相当于空间的title原创 2015-09-22 17:17:52 · 266 阅读 · 0 评论 -
UI24_NSUserDefaults
前述1.NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary.2.如果把一个自定义的类存到一个NSArray里,然后再存到NSUserDefaults里也是不成功的3.解决的方法是用自定义的<NSCoding>的协议方法,- (id) initWithCoder: (NSCoder *)coder方法和- (vo原创 2015-09-22 14:20:23 · 429 阅读 · 0 评论 -
UI13_数据解析之图片相关(UIActionSheet,UIImagePickerController, UINavigationController协议方法)
我们在进行图片解析的时候要用到的是第三方SDWebImage文件,引它里面的#import "UIImageView+WebCache.h".然后到设置里的选择Build Phases里选择Compile Sources里搜索里打sd出现的全选回车,在弹出的对话框内写入"-fobjc-arc",因为我们选择在是手动管理内存,这里我们进行修改 这里我们要播放gif图片所以也要引用sd里的"UIIm原创 2015-08-20 20:08:08 · 338 阅读 · 0 评论 -
UI26_编程总结
1.什么时候用下划线什么时候self?用下划线相当于指针指向一个人 没有对他进行持有 如果释放就找不到了他self.的话相当于auto 延迟释放打印一个数组如果是没有尖括号的话就代表这个数组已经被干掉了NSRunLoop对其进行赋值的时候用self. 自动释放池什么时候释放就是runloop切换的时候自动释放被干掉数组就没有了 所以就出现cresh2.定时器的执行也是在原创 2015-09-25 11:55:05 · 337 阅读 · 0 评论 -
UI11_Block传值
目的:前后传值.我们在两个视图控制器中创建UIButton(点击进去下一页,和返回上一个页面)进行传值从后往前传值现象:后面控制前面的背景颜色.block没有返回值没有参数第一个页面的点击方法中-(void)click:(UIButton *)button{ //没有参数没有返回值的block //通过block改变self.view的背景颜色 void(^block)()=原创 2015-08-13 20:42:47 · 312 阅读 · 0 评论 -
UI11_UITabBar(视图控制器的管理者)
前期概述:UITabBar它是UINavigationController的管理者,其层级关系如下:App->window->tabBar->naVC->VC准备工作:我们要建立六个视图控制器对此我们只拿两个作为例子创建按钮1.FirstViewController *firstVC=[[FirstViewController alloc]init]; //创建第一个naVC UI原创 2015-08-12 20:59:39 · 317 阅读 · 0 评论 -
UI04_UITarget-Action
目的:通过MyButton实现button的点击效果Button.h1.通过定义的方法,把目标和动作传到类的内部(用id的原因是它针对所有对象)-(void)addNewTarget:(id)target Action:(SEL)action;解释:target:目标,button执行哪一个类的方法,对应的目标是那个类的对象 action:动作,让button具体做什么事,执行的方法就是原创 2015-08-05 09:03:48 · 253 阅读 · 0 评论 -
UI05_Control(UIStepper加减音量/UIBlurEffect毛玻璃/UISlider滑动/UISegmentedControl小模块)
UIStepper目的:它会出现加减号按钮 通过按钮控制播放的音量定义一个UIStepper的属性1.创建对象self.stepper=[[UIStepper alloc]initWithFrame:CGRectMake(100,100,100,100)];[self.view addSubview:self.stepper];[_stepper release];2.设置每次增加的数量se原创 2015-08-08 20:50:42 · 488 阅读 · 0 评论 -
UI03_UIViewController
前述:4部分 (1)建立两个UIViewController子类 (2)RootViewController.m (3)SecondViewController.m (4)AppDelegate.m 注意:一个父类可以被多个子类所继承,但是一个子类只能继承一个父类 下面的变成主要是显现画面的跳转,现在App.m的文件中创建一个视图控制器Root并添加在window窗口中,此视图控制器R原创 2015-08-04 11:22:27 · 258 阅读 · 0 评论 -
UI04_UISwitch
它是一个开关按钮控件,可以通过它来设置我们的视图或者音频的开闭状态1.创建UISwitch对象UISwitch *mySwitch=[[UISwitch alloc]initWithFrame:CGRectMake(200, 100, 100, 30)]; [self.view addSubview:mySwitch];2.设置开启颜色mySwitch.onTintColor=[UIColo原创 2015-08-05 08:29:30 · 288 阅读 · 0 评论 -
UI04_UIDelegate
以后我们会把操作放在视图控制器上进行.我们先建立一个MyButton的类 ,然后在试图控制器上引myButton的头文件,然后在延展部分签署协议形式如下:@interface MainViewController ()<MyButtonDelegate>协议步骤 myButton.h文件中1.声明一份协议@protocol MyButtonDelegate <NSObject>//要做的事原创 2015-08-04 22:08:59 · 376 阅读 · 0 评论 -
UI03_LTView(继承UIView)和UIAlertView
前述:分三个部分 (1)LTView.h文件 (2)LTView.m文件 (3)AppDelegate.m文件LTView.h文件中//因为要在类的外部获取输入框的内容,修改label的标题,所以我们可以把这两部分作为属性写在.h文件,这样在外部可以直接进行修改和设置@interface LTView : UIView<UITextFieldDelegate原创 2015-08-01 21:36:26 · 270 阅读 · 0 评论 -
UI02_UIButton
总结前期准备工作与UILabel相同1.创建一个Button (1)Button用自己的便利构造器的方式来创建对象,而且button不用release (2)UIButton *button=[UIButton buttonWithType:UIButtonTyprSystem];2.指定Button的位置和大小button.frame=CGRectMake(100,100,100,40)原创 2015-07-31 14:02:24 · 279 阅读 · 0 评论 -
UI05_手势识别器
准备份工作:先建立一个显示图片UIImage *image=[UIImage imageNamed:@"36CE666C27E56BAA8CC58C3A05342DC3.png"];self.imageView=[[UIImageView alloc]initWithImage:image];self.imageView.frame=CGRectMake(50, 100, 300, 300);原创 2015-08-08 22:00:11 · 348 阅读 · 0 评论 -
UI06_UIPageControl
目的:让pageControl也能控制ScrollView画面定义宏: #define HEIGHT self.view.frame.size.height #define WIDTH self.view.frame.size.width创建scrollView这里我们把它设置成属性进行创建 self.scrollView=[[UIScrollView alloc]initWi原创 2015-08-08 17:58:51 · 257 阅读 · 0 评论 -
UI02_UIButton和UITextField
声明属性@interface AppDelegate ()@property(nonatomic,retain)UITextField *textField;@property (nonatomic,assign)BOOL ischeck;@property(nonatomic,retain)UILabel *label;@end实现部分(对其释放)-(void)dealloc{原创 2015-08-01 19:57:06 · 336 阅读 · 0 评论 -
UI08_UITableView界面传值(后往前)
应用的方法还是协议模式 在传值的试图控制器SecondViewController的.h文件中@protocol SencondViewControllerDelegate <NSObject>-(void)changeValue:(NSString *)str;@end定义所用的属性@interface SencondViewController : UIViewController@原创 2015-08-08 16:35:16 · 222 阅读 · 0 评论 -
UI18_UICollectionView
前言部分: UICollectionView是苹果官方提供的一种瀑布流效果. layout只负责布局样式,而不负责创建view。(view的创建是通过代理方法 datasource来实现的) Layout对象中定义了view的位置以及view大小size的信息UICollectionView 的三要素介绍(1)Cells:Layout就像一个管理者,而cell就是被管理者,每原创 2015-08-24 22:34:33 · 377 阅读 · 0 评论 -
UI18_单例
1.假如我用单例创建数据库对象,当我用数据里面的方法时必须用也只能用单例 来调用这个方法,保证其唯一性.而且它存在整个过程.存在在内存管理的全局 库,但是沙盒创建的特点是无规律的,我们每次的创建及寻找数据是很困难的. 而单例结解决这个问题2.单例是你创建在哪个文件中它就整个过程都存在那个文件中而且是唯一存在 的.3.我们创建对象有很多种.单例也是创建对象的一种,只是它特殊在它的唯原创 2015-08-26 10:15:50 · 356 阅读 · 0 评论 -
UI09_modal管理字典
modal就是一个类 就是把字典放在modal里然后方便我们查找.首先我们定义Student的类让其集成NSObject1.定义四条属性.内容名称必须与.plist里想对应@property (nonatomic,copy)NSString *name;@property (nonatomic,copy)NSString *sex;@property (nonatomic,copy)NSS原创 2015-08-10 20:32:59 · 203 阅读 · 0 评论 -
UI09_自定义cell
准备工作:定义宏#define WIDTH self.contentView.frame.size.width#define HEIGHT self.contentView.frame.size.height1.建立一个UITableViewCell的类MyCell现在要给定义的cell加上4条属性,而且需要在外部进行赋值,所以在.h写属性的声明.而且这四个属性,它们的名不能和系统的已有的属原创 2015-08-10 20:18:49 · 262 阅读 · 0 评论 -
UI09_多种UITableView(一个界面出现三个tableView,省市区数组)
前期准备(1)定义数组与TableView属性@property(nonatomic,retain)NSMutableArray *proArr;@property(nonatomic,retain)UITableView *proTableView;@property(nonatomic,retain)UITableView *cityTableView;@property(nonatom原创 2015-08-10 19:23:08 · 546 阅读 · 0 评论 -
UI17_网络请求之AFN,收藏删除等文件,检查网络类型(2g,WiFi,3g)
一.检查当前的网络情况AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; //开始对网络检测 [manager startMonitoring]; [manager setReachabilityStatusChangeBlock:^(AFNetworkRe原创 2015-08-20 21:31:36 · 475 阅读 · 0 评论