![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IOS开发
龙德施泰.冯.置
多思考
展开
-
Xib实现 Login 页面
1. xib 中按钮设置 设置 默认状态,点击状态的时候 选择 UIButtonTypeCustom ,避免默认的造成影响2.文本换行: 设置行数,按照option+enter在文本选项代码中: self.label.text=@"xiaoming\nxiaohie\nxiaoze" 设置line为0,那么label 就可以自动换行了3.ios 状态栏设置:// 设置状态栏白色 ,那么self.view内容可以从状态栏开始布局// 用途: 登录页面设置图片填充状态栏// self....原创 2020-07-16 11:24:13 · 294 阅读 · 0 评论 -
ios 实现添加footer, footer实现九宫格效果
1.ios 设置 UITableViewCell 组和组之间距离UiTableView设置组和组之间的间距: 苹果没有提供api 设置组和组之间的间距, 可以设置组 heightForHeaderInSection heightForFooterInSection 来设置 组头部、底部高度 来设置 组合组之间的间距2.UiTableViewFooter 设置// 1. 获取底部控件最大高度 self.xmg_height= self.subviews.lastO...原创 2020-07-14 15:00:58 · 894 阅读 · 0 评论 -
ios 清理缓存功能实现
1.计算 沙盒 缓存大小 ,可能是 耗时 操作,放入子线程- (void)viewDidLoad { [super viewDidLoad]; // 沙盒路径 获取 NSLog(@"%@",NSHomeDirectory()); // 计算 缓存大小,可能是 耗时 操作,放入子线程 dispatch_async(dispatch_get_global_queue(0, 0), ^{ // library/cache NSS.原创 2020-07-14 14:00:14 · 1060 阅读 · 0 评论 -
ios ble 蓝牙锁开发用例
开发流程:1. 建立中心管家2. 扫描外部设备3. 获取扫描的 外部设备,获取外部设备 , 连接外部设备4. 连接外设 成功,获取 发现服务5. 发现服务 uuid, 发现 服务下 特征值6. 读取 特征值 ,订阅 ble->app 通道 获取app->ble 特征值7. 接收 读取的特征值8. 锁入网,传递psw2 给app9. p1+p2 加密 systemId 鉴权 10. 锁回复 psw3 11.发送 开锁 确认帧代码...原创 2020-07-04 16:42:15 · 1221 阅读 · 0 评论 -
ios mqttclient 使用连接、订阅、发送、透传
IOS使用场景 mqtt mqtt zigbeen -> 网关 -> 服务器 -> app原创 2020-07-03 11:06:25 · 2259 阅读 · 1 评论 -
ios frame和bounds区别
1. frames和 bounds理解frame: 是子控件相对于 父控件内容左上角为坐标原点bounds: contentView相对于自己控件坐标位置,控件内部内容区域滚动的时候frame和bounds体现:frame和bounds理解图:程序代码:#import "ViewController.h"@interface ViewController ()<UIScrollViewDelegate>@property (stron...原创 2020-06-21 22:18:34 · 1030 阅读 · 1 评论 -
ios UIButton内边距理解
button设置内边距:UIButton结构, ImageView+ Lable 设置内边距EdgeInsets 以后会 压缩 在宽度,和前端中设置div内边距一样backButton.titleEdgeInsets=UIEdgeInsetsMake(10, 0, 0, 0); // 上边内边距10backButton.imageEdgeInsets=UIEdgeInsetsMake(0, 0, 10, 0)backButton.contentEdgeInsets = U...原创 2020-06-20 20:19:21 · 2163 阅读 · 0 评论 -
ios 自定导航栏 返回按钮
导航控制器 默认 返回键盘默认是 一个箭头 + 上一个控制器名称,系统默认,如下图 如何自定义左上角控制器: 解决方法:A控制器进入detail控制器- (IBAction)showDatail:(id)sender { // 注意: 控制器背景色不要在这里设置 AControllerViewController* aController=[[AControllerViewController alloc] init]; aController.hides...原创 2020-06-15 11:17:45 · 3495 阅读 · 0 评论 -
ios13.7 iPhone/iPad Location-cleaned 驱动下载
Iphone/ipad 最新驱动下载地址:https://download.csdn.net/download/dreams_deng/12523667原创 2020-09-12 11:25:58 · 9076 阅读 · 3 评论 -
ios 全局异常捕获,上传服务器
ios中 xcode设置全局断点快速定位问题代码所在行, 可以获取异常信息,然后上传服务器,做统计AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. NSSet...原创 2020-06-09 15:52:28 · 1895 阅读 · 0 评论 -
ios uiscrollView 使用理解
1、 scrollview 常用属性理解UIScrollVie的常用属性 : contentSize 滚动方位,比scrollview的size大 contentInset 内边距, contentSize和scrollView的边框的一个距离,和div一样,内变距会计算到contentSize中 contentOffset 偏移量, contentSize+padding 距离边框的距离 弹簧效果 ...原创 2020-06-11 16:56:40 · 744 阅读 · 0 评论 -
ios mj_refresh 上拉、下拉、自定义header、footer、afn子类化
ViewController.#import "ViewController.h"#import <MJRefresh/MJRefresh.h>#import "Person.h"#import <AFNetworking/AFNetworking.h>#import <MJExtension/MJExtension.h>#import "XMGRefreshHeader.h"#import "XMGRefreshFooter.h"#impor...原创 2020-06-11 16:12:56 · 2208 阅读 · 0 评论 -
ios NSInvocation基本使用
为什么要NSInvocation,NSInvocation比performSelector 调用方法,根据方法名可以传递三个参数-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ // performSelector 只能 根据方法名调用 2个参数 // 传递一个参数例子 [self performSelector:@selector(callWithNumbe原创 2020-06-09 15:48:39 · 557 阅读 · 0 评论 -
ios 基本框架使用
1. sdwebImage使用:1.1.基本使用- (void)viewDidLoad { [super viewDidLoad]; // 1. 图片 下载 简单方法 [self.myWebImage sd_setImageWithURL:[NSURL URLWithString:@"http://img5.mtime.cn/mg/2019/06/27/224744.68512147_120X90X4.jpg"]]; // options 图片下载策原创 2020-06-05 18:57:56 · 520 阅读 · 0 评论 -
ios UIViewController 使用总结
1. 通过代码 实现控制器1.1. 自定义根控制器:iOS开发之Xcode11: 删除默认Main.storyBoard、自定义根控制器:https://blog.csdn.net/shifang07/article/details/104682190导航控制器:导航栏 一般 是 44,IOS 控制也是栈的结构, 入栈、弹出是出栈1.2.导航控制器api: //1. 跳入下一个控制器 BViewController* bController= [[BViewControll...原创 2020-06-02 15:03:52 · 470 阅读 · 0 评论 -
ios 数据存储 Bundle 沙盒
1. IOS数据存储:什么是沙盒: 与其他文件系统隔离,应用必须待在自己的沙河里面,不能互相访问bundle 和 沙盒是分开的*沙盒路径: Documents :比较贵重数据,Itunes 会设备的时候会备份改目录 Library/Caches : 不会备份,存储体积大 Library/Preference: 保存偏好设置, 系统管理,会备份 tmp: 临时数据,不会备份,引用没有运行时候,系统可能清除该目录*bundle路径: xx.app*...原创 2020-06-02 11:29:03 · 399 阅读 · 0 评论 -
ios 屏幕适配 autolayout | Masonry 使用
1. autolayout 属性设置: autolyout 对齐方式 autolayout 相对其他控件距离、宽高、相对于其他控件宽高, 如下图属性。2. 案例1: 设置控件水平、垂直居中 设置 垂直 水平 对齐、 设置控件宽高 【 注意:确定控件x,y坐标,以及宽、高那么久不会报红约束 存在问题】最终效果显示:3. 案例2 : 设置 兄弟 View之间的 约束A控件 设置左边、顶部、高度约束 B 控件·设置右侧、底部约束 、 设置A...原创 2020-06-01 17:41:08 · 882 阅读 · 0 评论 -
ios 控件UITableView 使用归纳总结
1. UITableView简单使用1. UITableView的基本使用 self.tableview.dataSource=self; self.tableview.delegate=self; -(NSInteger)numberOfSectionsInTableView: 返回多少组 -numberOfRowsInSection: 返回每组多少行, 有多少组,就调用多少次 -cellForRowAtIndexPath: 返回每组每行的cell, 有多少...原创 2020-06-01 10:44:34 · 1309 阅读 · 0 评论 -
ios 控件 UIKit.framework
1. IOS 认识 1.info.plist: Bundle name: 应用名称 Bundle Identifirer: 应用唯一标识// 获取 Info.plist 路径 NSString* filepath= [[NSBundle mainBundle] pathForResource:@"Info.plist" ofType:nil]; // 获取配置文件,保存字典中 NSDictionary* dict= [NSDictionary di...原创 2020-05-12 22:12:21 · 1012 阅读 · 0 评论 -
MJExtension使用注意
1、** dict- model NSDictionary* dict=@{@"username":@"小邓"}; User* user= [User mj_objectWithKeyValues:dict]; 2、** array<dict> - array<model>NSArray<XMGTopic *> *moreTo...原创 2020-07-15 17:02:49 · 1745 阅读 · 0 评论 -
导航栏穿透效果原理图
首先看一下bounds和frame区别:每一个控件都有矩形框、内容区bounds: 以自己内容区为左上角为原点,矩形框左上角到该点的距离frame: 是以父控件内容区左上角为原点坐标contentOffset.x、contentOffset.y:和bounds x、y值一致,内容区和矩形区左上角距离contentInset:内边距...原创 2020-07-15 10:49:27 · 968 阅读 · 0 评论 -
IOS中UIimageView的内容模式
当图片大小超出imageView时, 会只有部分图片显示在imageView上。当UIImageView的大小和图片大小不相符的时候, 为了达到合适的图片设置效果, 通常设置UIImageView 的contentMode 属性即可(contentMode属性继承于其父类UIViwe)。//不带有Scale,标明图片不可能被拉伸或压缩,图片的对齐方式 ...原创 2020-08-12 11:16:22 · 2907 阅读 · 0 评论