(iOS)小知识、不常用、易忘记、持续更新

1、 设置系统导航栏标题颜色和字体大小等一些属性

[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName:[UIFont systemFontOfSize:20]}];

当然还可以设置更多的Attributes属性,只需要将你想要设置的属性添加到字典里面就好啦!command点一个属性进去,就可以看见很多属性,基本是可以满足我们的需求了的!

小贴士:Attributes还可以设置按钮标题等等一系列Title属性

列如:[button setAttributedTitle:@{把你需要设置的属性放进来就可以啦} forState:UIControlStateNormal];


2、 下面是强迫症的福音,小弟也有点小小强迫症~~~

ps:当我们在项目删除了一些文件后,Xcode会报黄色警告⚠️

紫色的小箭头就是警告的原因,说文件找不到,黄色箭头是找不到的文件,明明就删除了还找来干啥?这是Xcode自带仓库出现的警告,很是逼死我这种强迫症患者~~~

解决方法:command + ,进入偏好设置,如图

把Source Control 取消勾选,好了世界安静了!

ps:取消后就不能用Xcode自带的仓库管理了,不过可以用外部SVN或Git(小弟也是比较喜欢用外部的~)还有用新Xcode后控制台打印一些乱七八糟的东西,这个网上有很多教程解决。


3、 有时候我们会遇到在为按钮或者tabBarItem等设置图片的时候,系统会自动把我们的图片渲染成蓝色,这时我们就可以让图片禁止系统渲染使用原图,方法如下:

UIImage * originImage = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];这样拿到的UIImage原图是什么样的就是什么样了。


4、 为TabBar设置阴影和背景色

UITabBarController *tabBarController = [[UITabBarController alloc] init];

// 设置阴影

tabBarController.tabBar.layer.shadowOpacity = 2;

tabBarController.tabBar.layer.shadowOffset = CGSizeMake(0, -1);

tabBarController.tabBar.layer.shadowColor = [UIColor grayColor].CGColor;

_tabBarC = tabBarController;

// 设置背景色

[UITabBar appearance].translucent = YES;

UIView *view = [[UIView alloc]initWithFrame:_tabBarC.tabBar.bounds];

view.backgroundColor = [UIColor whiteColor];

[[UITabBar appearance] insertSubview:view atIndex:0];


5、调用openURL拨打电话

方法1:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:15977688888"]];

方法2:

UIWebView *callWebview = [[UIWebView alloc] init];

[callWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"tel:15977688888"]]];

[self.view addSubview:callWebview];

方法3:(前面都是用tel:加电话号码,这个用"telprompt://"加电话号码,注意别用错,听说用这个上架容易被拒绝)

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://15977688888"]];

使用上面方法时出现:[Common] _BSMachError: port a713; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"这个警告应该是xcode编译出现的,不影响我的使用,有人解决这个问题,麻烦留言告诉我一下,看国外的网址太慢了~~~


6、今天刚刚做到搜索栏历史记录功能,顺便记录一下,万一有小伙伴需要咧(轻量级的缓存NSUserDefaults为例),一键清空,控制保存记录条数,过滤相同数据,下面是代码:

-(void)SearchText :(NSString *)text

{

// 可变数据来添加历史记录

NSMutableArray *historyArray = [[NSMutableArray alloc] init];

if (self.historyArray) {

historyArray = [self.historyArray mutableCopy];

}

// 过滤相同的历史记录

if ([historyArray indexOfObject:text] != NSNotFound) {

// 相同记录不做操作

}else{

// 不同时添加到缓存

[historyArray addObject:text];

// 当历史记录超过6条时清除前面加入的第一条(当然也可以不使用,不过我们需求是保存6条)

if (historyArray.count > 6) {

[historyArray removeObjectAtIndex:0];

}

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

[userDefaults setObject:historyArray forKey:@"historyArray"];

}

}

- (void)emptyNSUserDefaults {

// 清空历史记录

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

[userDefaults removeObjectForKey:@"historyArray"];

self.historyArray = @[];

[self.hisTabelView reloadData];

}

-(void)readNSUserDefaults

{

// 读取历史记录

NSUserDefaults *userDefaultes = [NSUserDefaults standardUserDefaults];

self.historyArray = [userDefaultes arrayForKey:@"historyArray"];

if (self.historyArray) {

[self.hisTabelView reloadData];

}

}

ps:当然我们要显示出来的数据是要倒序的,在这里顺便也说一下吧,其实就是把下标倒序就好了(历史数据数组长度➖当前行数):cell2.textLabel.text = self.historyArray[(self.historyArray.count-1)-indexPath.row];


7、在输入文字时判断是否全为空格

NSInteger length = [[textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length];

这个方法主要是用了集合特性,只要判断length是否为零就可以知道输入的是否全为空格


8、使用系统方法几行代码实现高斯模糊效果

这是系统自带的四种模糊效果:typedef NS_ENUM(NSInteger, UIBarStyle) {

UIBarStyleDefault          = 0,

UIBarStyleBlack            = 1,

UIBarStyleBlackOpaque      = 1, // Deprecated. Use UIBarStyleBlack

UIBarStyleBlackTranslucent = 2, // Deprecated. Use UIBarStyleBlack and set the translucent property to YES

} __TVOS_PROHIBITED;

这是我们要写的代码

UIImageView *bgImgView = [[UIImageView alloc] initWithFrame:self.view.bounds];

bgImgView.image = [UIImage imageNamed:@"backG"];

[self.view addSubview:bgImgView];

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, bgImgView.frame.size.width, bgImgView.frame.size.height)];

toolbar.barStyle = UIBarStyleDefault;

[bgImgView addSubview:toolbar];


9、使用Xcode8或以上的小伙伴用远程通知要在下面打开通知

当然,有的小伙伴打开发现,通知这个选项不见了~~~f*ck~~~不急,现在去下面的图修改一下team就好了~~~当然你的AppleID必须是勾选的这些应用的,这里就不多说了

10、项目中想使用dismiss回到根控制器的方法和跳级dismiss方法

①、回根控制器方法:遍历拿到根控制器再dismiss

-(void)dismissToRootViewController

{

UIViewController *vc = self;

while (vc.presentingViewController) {

vc = vc.presentingViewController;

}

[vc dismissViewControllerAnimated:YES completion:nil];

}

②、跳级dismiss方法,思路和上面差不多,此方法也可以回根控制器

[self.presentingViewController.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];

一级一级得dismiss~根据你自己的需求加presentingViewController

未完待续。。。。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,914评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,935评论 2 383
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,531评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,309评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,381评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,730评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,882评论 3 404
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,643评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,095评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,448评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,566评论 1 339
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,253评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,829评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,715评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,945评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,248评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,440评论 2 348

推荐阅读更多精彩内容

  • //设置尺寸为屏幕尺寸的时候self.window = [[UIWindow alloc] initWithFra...
    LuckTime阅读 797评论 0 0
  • 偶尔看到这样一条微博:“老师,我想请假休学一年,给妈妈换肾,想让她早点好起来,希望老师能给我一个机会和一份真诚的孝...
    寂恒阅读 390评论 0 2
  • 郑州
    郭伟涛阅读 169评论 0 1