iOS Object-C基础整理

news/2024/7/20 20:39:21 标签: ios, c语言, 动画

新手入门
请多指教

本文:https://www.jianshu.com/p/f113b8c2150e

文章目录

  • 前言
  • UIView 隐藏显示
  • Layer 简单动画
  • JSON转换
  • 字体加粗
  • 布局约束
  • UIView 加边框
  • 分割字符串
  • 反转数组
  • UIViewController的生命周期
  • 延迟执行

前言

虽然这些东西都比较基础,说实话,算是有点老旧了,但是记不住啊,只好再整理整理。
本文仅以简单示例,详情以后再慢慢整理。

UIView 隐藏显示

Button.hidden = YES;
Button.hidden = NO;

Layer 简单动画

// x 轴缩放
CABasicAnimation *scaleX = [CABasicAnimation animationWithKeyPath:@"transform.scale.x"];

scaleX.duration=2;

scaleX.fromValue = [NSNumber numberWithFloat:0];

scaleX.toValue = [NSNumber numberWithFloat:1];

scaleX.removedOnCompletion = YES;

 [view.layer addAnimation:scaleX forKey:@"scaleX"];

JSON转换

+ (NSString *)convertToJsonData:(NSDictionary *) dict {
    NSError *error;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict 
                                        options:NSJSONWritingSortedKeys 
                                        error:&error];
    NSString *jsonString;
    if (!jsonData) {
        NSLog(@"%@",error);
    } else {
        jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
    }
    return jsonString;
}

字体加粗

// 加粗
[UILabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:15]];

// 加粗斜体
[UILabel setFont:[UIFont fontWithName:@"Helvetica-BoldOblique" size:15]];

布局约束

[view mas_makeConstraints:^(MASConstraintMaker *make) {
    make.top.bottom.mas_equalTo(self.mas_top).with.offset(10); // 偏移
    make.right.bottom.mas_equalTo(self.mas_right).with.offset(-10); // 右偏移
    make.center.mas_equalTo(self.mas_center);
    // 乘数百分比倍数
    make.height.mas_equalTo(view.mas_width).multipliedBy(3);
 
    // make.width.height.mas_equalTo(1000).multipliedBy(0.2); // 百分比 

    // 除数百分比 dividedBy(0.2) == multipliedBy(5)
    make.width.height.mas_equalTo(1000).dividedBy(0.2);  
    make.width.height.lessThanOrEqualTo(self);
dividedBy
  }];

UIView 加边框

view.layer.masksToBounds = YES;
view.layer.borderColor = [[UIColor blackColor] CGColor];
view.layer.borderWidth = 1.0;

分割字符串

// 逗号分割字符串
NSArray *listArr = [listStr componentsSeparatedByString:@","];

反转数组

NSArray *reverList = [[arr reverseObjectEnumerator] allObjects];

UIViewController的生命周期

  • 1.alloc
    创建对象,分配空间
  • 2.init ( initWithNibName | initWithCoder )
    初始化对象,初始化数据
  • 3.awakeFromNib
    所有视图的outlet和action已经连接,但还没有被确定。
  • 4.loadView
    完成一些关键view的初始化工作,加载view。
  • 5.viewDidLoad
    载入完成,可以进行自定义数据以及动态创建其他控件
  • 6.viewWillAppear
    视图将出现在屏幕之前
  • 7.viewWillLayoutSubviews
    将要对子视图进行调整
  • 8.viewDidLayoutSubviews
    对子视图进行调整完毕
  • 9.viewDidAppear
    视图已在屏幕上渲染完成
  • 10.viewWillDisappear
    视图将被从屏幕上移除
  • 11.viewDidDisappear
    视图已经被从屏幕上移除
  • 12.dealloc
    视图被销毁,需要对你在init和viewDidLoad中创建的对象进行释放
  • 13.didReceiveMemoryWarning
    内存警告

延迟执行

不止下方一种哈,还有很多,比如NSTimer。
还有待研究。

// 延迟2s执行 refreshData 方法
[self performSelector:@selector(refreshData) withObject:nil afterDelay:2.0];

// 取消执行 refreshData 方法
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(refreshData) object:nil];

// 取消执行所有延迟类方法
[NSObject cancelPreviousPerformRequestsWithTarget:self];


http://www.niftyadmin.cn/n/1525945.html

相关文章

iOS js交互直接卡死的问题

新手入门 请多指教 前言 由于页面部分统计图使用的JavaScript中的eChart库实现,所以最近的需求改动中,需要处理部分交互问题。其中有一个交互,在iOS12中直接卡死了。。。 嗯,测试部有一部iOS12的手机。。。 问题定位 通过逐步排…

Android shape动态修改颜色

Android 成长在于积累和分享 本文:https://www.jianshu.com/p/9ec153ba03d8 文章目录前言解决方案修改Solid颜色修改Stroke颜色Shapeshape对应的GradientDrawableGradientDrawable修改solid颜色修改Stroke颜色结语参考文献前言 Andoid 中很多圆角或者边线的操作都喜…

简单选择排序、堆排序

转载:http://blog.csdn.net/pzhtpf/article/details/7559943 1)基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换; 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第…

Android 源码变迁

Android 成长在于积累和分享 本文:https://www.jianshu.com/p/a3f2a9acf871 文章目录前言GitHubMain BranchAndroid-XX BranchHistory其它问题参考文献前言 突发奇想的想了解下Android各个版本的历史变迁,当然不是说功能的变迁,仅仅是源代码…

直接插入排序,希尔排序

转载地址:http://blog.csdn.net/pzhtpf/article/details/7559896 先来看看8种排序之间的关系: 1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1) [n>2] 个数已经是排 好顺序的…

利用activity-alies解决微信支付的包名WXPayEntryActivity不一致问题

总结之前的一些资料 本文:https://www.jianshu.com/p/2b516efb8dee 文章目录前言解决方案WXPayEntryActivity类Manifest声明activity-alies参考文献前言 在集成微信支付的过程中,WXPayEntryActivity 类要求必须放在 包名wxapi 路径下,否则是…

归并排序,基数排序

转载:http://blog.csdn.net/pzhtpf/article/details/7560312 7、归并排序 (1)基本排序:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序…

android:inputType

看到了就记一记啊 文章目录前言inputType"none" 无限制类型"text" 普通文本类型"textCapCharacters" 全部字符大写"textCapWords" 单词首字母大写"textCapSentences" 句子首字母大写"textAutoCorrect" 自动修正&q…