NS_CLASS_AVAILABLE_IOS(2_0) @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting>
UILabel------基础控件显示的文本只读,无法编辑,可以根据文字个数自动换行
一、定义UILabel + 布局
UILabel *lab = [[UILabel alloc]init];
lab.frame = CGRectMake(150, 150, 100, 100);
UILabel *lab = [[UILabel alloc]initWithFrame:CGRectMake(150, 150, 100, 100)...
iOS 字典基础
NSDictionaryNSMutableDictionary
@interface NSMutableDictionary<KeyType, ObjectType> : NSDictionary<KeyType, ObjectType>
同数组---NSDictionary的特性,NSMutableDictionary同样继承
字典:
key -----> value
索引 ----> 文字内容
存储键值对
一、创建字典
NSDictionary *dict = [NSDictionary dictionaryWithObject:@"字典" forKey:@"name"];
即
NSArray *key...
iOS Protocol基础
基本用途
可以用来声明很多方法不能声明成员变量,只有.h文件只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明任何类都可以使用协议,只要遵守它只要父类遵守了某个协议,就相当于子类也遵守了
二、格式
协议的编写
@protocol 协议名称
方法声明列表
@end
@protocol myProtocol <NSObject>
@required //要求实现,不实现就会发出警告
- (void)test1;
@optional ...
iOS- iOS15后获取window方法
windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0));
目前使用的获取window的方式只支持到iOS15,所以在项目开发的时候担心之后通过该方法拿到的window有问题,研究了下怎么拿新版的window的办法
if (@available(iOS 15, *)) {
__block UIScene * _Nonnull tmpSc;
[[[UIApplication sharedApplication] connectedScenes] enu...
iOS15解决导航条适配问题
在旧版本代码中设置导航条颜色使用的是navigationBar.barTintColor,但在iOS15上并没有生效,而且navigationBar.isTranslucent=NO也没有生效,导航条依然是透明的。
解决方案:
if (@available(iOS 15.0, *)) {
UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init];
[appearance configureWithOpaqueBackground]
;
//设置导航条背景色
appear...
OS手机Charles抓包
1.手机和电脑连接到同一Wifi下
2.电脑启动charles,检查基础设置
Proxy->Proxy Setting:
Proxy->SSL Proxy Setting:
3.将手机wifi设置代理
1)查看电脑本机IP:按住option键点击wifi图标
2)手机中设置代理
3)手机首次连接charles后发起任意http请求会弹出是否信任窗口,点击Allow
4.手机安装证书
手机连接charles代理后,打开safari浏览器,地址栏输入chls.pro/ssl打开...
iOS横屏模式适配
iOS开发中,有时候会用到横屏模式,比如视频播放,科学计算器等。下满开发者就讲下横屏模式的注意事项
屏幕方向info设置,建议只勾选竖屏就好了,不要勾选其他的,不然的话有些三方组件是强制竖屏的,会崩溃
在AppDelgate中允许屏幕旋转
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return ...
iOS14开发-定位与地图
定位
CoreLocation 是 iOS 中用于设备定位的框架。通过这个框架可以实现定位进而获取位置信息如经度、纬度、海拔信息等。
模块与常见类
定位所包含的类都在CoreLocation模块中,使用时必须导入。CLLocationManager:定位管理器,可以理解为定位不能自己工作,需要有个类对它进行全过程管理。CLLocationManagerDelegate:定位管理代理,不管是定位成功与失败,都会有相应的代理方法进行回调。CLLo...
iOS14开发- 通知
iOS 中的通知主要分为 2 种,本地通知和远程通知。
本地通知
使用步骤
导入UserNotifications模块。申请权限。创建通知内容UNMutableNotificationContent,可以设置: (1)title:通知标题。 (2)subtitle:通知副标题。 (3)body:通知体。 (4)sound:声音。 (5)badge:角标。 (6)userInfo:额外信息。 (7)categoryIdentifier:分类唯一标识符。 (8)attachments:附件,可以是图片...
沙盒和NSBundle
一、NSBundle目录和沙盒路径对比
沙盒目录:
/Users/mrwangxiansen/Library/Developer/CoreSimulator/Devices/A10128A9-D187-4E86-A1AF-43523AC2A4DE/data/Containers/Data/Application/B65FB2D7-C064-4750-AF18-3C4C50B6DAF6
bundle目录:
/Users/mrwangxiansen/Library/Developer/CoreSimulator/Devices/A10128A9-D187-4E86-A1AF-43523AC2A4DE/data/Containers/Bundle/Application/FC9EF00F...