- 博客(37)
- 收藏
- 关注
原创 iOS 拨打电话
- (IBAction)callBtnClicked:(id)sender { if ([Function isNotBlankWithString:self.tel]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@...
2018-12-06 17:40:48 531
原创 iOS修改UITabBar字体大小字体颜色等
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], NSForegroundColorAttributeName, [UIFont systemFontOfSize:15], NSFontAttrib...
2018-12-06 17:39:40 1417
原创 iOS 自定义 TabBar
在UITabBarController.m里面initWithAttribute方法里面替换自己的自定义TabBar#import “GuangXi_TabBar.h"@interface UITabBarController () <GuangXi_TabBarDelegate> { GuangXi_TabBar *guangxi_TabBar;}- (inst...
2018-12-06 17:34:52 215
原创 iOS UILabel设置内边距
自定义一个BHEdgeLabel继承自UILabel, 以下是代码BHEdgeLabel.h#import <UIKit/UIKit.h>@interface BHEdgeLabel : UILabel@property (nonatomic, assign) IBInspectable CGFloat topEdge;@property (nonatomic, ass...
2018-12-06 17:33:12 2765
原创 iOS GCD处理多个网络请求
方法1:dispatch_group_t group = dispatch_group_create();dispatch_async(dispatch_get_global_queue(0, 0), ^{ for (int i = 0; i < 2; i ++) { dispatch_group_enter(group); switch (i)...
2018-12-06 17:31:55 542
原创 iOS获取当前系统时间并计算时间差
- (NSString *)getCurrentTime { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"mm:ss"]; NSDate *date = [NSDate date]; NSString *dateStr = [form...
2018-12-06 17:31:11 628
原创 iOS WKWebView禁止全屏播放视频
IOS 视频禁止全屏播放 前端将video标签加入属性 webkit-playsinline,如:<video id="player" width="480" height="320" webkit-playsinline>;
2018-12-06 17:30:42 4428
原创 iOS代码剪裁图片尺寸/压缩图片质量
#pragma mark -----改变显示图片的尺寸—————- (UIImage*) OriginImage:(UIImage*)image scaleToSize:(CGSize)size { UIGraphicsBeginImageContext(size); //size 为CGSize类型,即你所需要的图片尺寸 [image drawInRect:CGRectMak...
2018-12-06 17:29:53 225
转载 iOS 系统动画属性设置
1.常规动画属性设置(可以同时选择多个进行设置)UIViewAnimationOptionLayoutSubviews:动画过程中保证子视图跟随运动。UIViewAnimationOptionAllowUserInteraction:动画过程中允许用户交互。UIViewAnimationOptionBeginFromCurrentState:所有视图从当前状态开始运行。UIVi...
2018-12-06 17:27:25 479
原创 iOS UILabel 根据内容计算宽度和高度
根据label.text 宽度和字号计算高度 CGRect rect = [title boundingRectWithSize:CGSizeMake(Width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSiz...
2018-12-04 19:10:33 979
转载 iOS状态栏的显示和隐藏
View controller-based status bar appearance控制App状态栏显隐接受全局配置(NO)或者各控制器各自配置(YES) [[UIApplicationsharedApplication]setStatusBarHidden:hidden],必须在View controller-based status bar appearance == NO条件下才能生效。...
2018-12-04 19:09:55 1103
原创 iOS获取系统键盘高度和动画时间
//添加通知-(void)addKeyBoardShowAndHideNotification{ //注册键盘出现的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardW...
2018-12-04 19:08:29 1094
原创 iOS 设置状态栏StatusBar背景颜色
//状态栏颜色 UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"]; statusBar.backgroundColor = [UIColor redColor];
2018-12-04 19:06:42 531
原创 iOS某种情况下 TableHeaderView 不置顶的解决办法
#pragma mark 适配automaticallyAdjustsScrollViewInsets属性#define adjustsScrollViewInsets_NO(scrollView,vc)\do { \_Pragma("clang diagnostic push") \_Pragma("clang diagnostic ignored \"-Warc-performS...
2018-12-04 19:05:28 3073
原创 iOS UIWebView 禁用数据探测器, 防止出现下划线
-(void)webViewDidStartLoad:(UIWebView *)webView //禁用超链接, 禁用数据探测器 webView.dataDetectorTypes = UIDataDetectorTypeNone;}
2018-12-04 19:02:51 231
原创 iOS UITableViewStyle为Plain时取消SectionHeader的吸顶效果
方法一:- (void)scrollViewDidScroll:(UIScrollView *)scrollView { //取消 tableSectionHeader 吸顶效果, sectionHeaderHeight为sectionHeader的高度 CGFloat sectionHeaderHeight = FITSCREEN(60); if(scrollVie...
2018-12-04 19:01:40 1983
原创 iOS UIView的layoutSubviews和drawRect方法何时调用
首先两个方法都是异步执行。layoutSubviews方便数据计算,drawRect方便视图重绘。 layoutSubviews在以下情况下会被调用: 1、init初始化不会触发layoutSubviews。 2、addSubview会触发layoutSubviews。 3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设...
2018-12-04 18:56:51 272
原创 iOS 自定义UITabbar分割线
//改变tabbar 线条颜色 CGRect rect = CGRectMake(0, 0, ScreenWidth, 1); UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithCol...
2018-11-27 20:09:05 705
原创 iOS 自定义UITabbar添加系统毛玻璃效果
UIImageView *backView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, TabBar_Height_1)]; backView.image = [UIImage imageWithColor:[UIColor colorWithHex:0xffffff alpha:0.5] ...
2018-11-27 20:07:14 3293
原创 iOS UIWebView 自定义404界面
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSHTTPURLResponse *response = nil; [NSURLConnec...
2018-11-27 20:06:06 253
原创 iOS 在 RootNavigationController 中自定义滑动手势取代系统自带右滑返回手势
#pragma mark 自定义滑动手势取代系统自带右滑返回手势 // 获取系统自带滑动手势的target对象 id target = self.interactivePopGestureRecognizer.delegate; // 创建全屏滑动手势,调用系统自带滑动手势的target的action方法 UIPanGestureRecognizer *pan =...
2018-11-27 20:05:24 559
原创 iOS 旋转动画
//旋转"+"按钮 CGAffineTransform transform = CGAffineTransformRotate(unself.channelArrow.transform, M_PI/4); [UIView beginAnimations:@"rotate" context:nil ]; ...
2018-11-27 20:04:36 519
原创 iOS UIView设置渐变背景色
CAGradientLayer *gradientLayer = [[CAGradientLayer alloc] init]; gradientLayer.frame = CGRectMake(0, 0, imageView.frame.size.width, mainFrame.size.height / 2); gradientLayer.c...
2018-11-27 20:04:02 1507
原创 iOS隐藏NavigationBar分割线的两种方法
1. self.navigationController.navigationBar.barStyle= UIBarStyleBlack;2. self.navigationController.navigationBar.clipsToBounds= YES;
2018-11-27 19:56:52 1752
原创 iOS开发内存管理笔记
手动: MRC 自动: ARC 影响引用计数的方法: + alloc - retain - copy - release - autorelease 凡是使⽤用了 alloc, retain 或者 copy 让内存的引⽤用计数增加了,就需 要使⽤用 release 或者autorelease让内存的引⽤用计数减少 在⼀一段代码内,增加和减少的次数要相等 不是任何对...
2018-11-27 19:55:13 148
原创 xcode工程目录
1. AppDelegate: 存放 AppDelegate 类(应用程序类)2. Controllers: 存放 MVC 设计思想下的视图控制器3. Views: 存放 MVC 设计思想下的自定义视图4. Modles: 存放 MVC 设计思想下的 Modles 类5. Helpers : 存储视图控制器助手类(分担视图控制器的数据处理)6. Macros: 存放项目中定义的...
2018-10-18 10:52:42 462
原创 iOS开发数据结构
一. 在iOS开发中常用的结构体 1. NSRange-一个范围结构体,location是位置,length是长度;{4,5},NSMakeRange(4,5);NSStringFromRange可以把它当NSString*返回 2. NSSize-由一个CGSize被typedef过来,CGFloat是double类型typedef过来的,也由两个值组成:wi...
2018-10-18 10:50:02 220
原创 iOS 应用逆向开发笔记
一. 系统目录(1)类 UNIX 操作系统的常见目录结构如下所示:/: 根目录, 以斜杠标识, 其他所有文件和目录在根目录下展开 /bin: “binary” 的简写, 存放提供用户级基础功能的二进制文件, 如 ls ps 等 /boot: 存放能使系统成功启动的所有文件, iOS 中此目录为空 /dev: “device” 的简写, 存放 BSD 设备文件. 每个文件代表系统的一...
2018-10-18 10:49:13 185
原创 UIButton 设置 上图 下字
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;[btn setTitleEdgeInsets:UIEdgeInsetsMake(k_BtnImageWandH, -k_BtnImageWandH, 0, 0)];[btn setImageEdgeInsets:UIEdgeInsetsMak...
2018-10-18 10:47:38 547
原创 UIWebView 屏幕适配并自定义缩放
-(void)webViewDidFinishLoad:(UIWebView *)webView { int htmlWidth= [[webView stringByEvaluatingJavaScriptFromString: @"document.body.scrollWidth"] intValue];//获取 html 宽度 [webView strin...
2018-10-18 10:45:38 565
原创 AVPlayer 循环播放本地视频
app名.app→ShowInFinder→app名→显示包内容→拖入需要播放的Mp4#import <AVKit/AVKit.h>#import <AVFoundation/AVFoundation.h> NSString *videoPath = [[NSBundle mainBundle] pathForResource:@"LoginBackgro...
2018-10-18 10:44:59 38095
原创 UIWebView 上添加滑动手势需要实现的代理方法
//首先遵循UIGestureRecognizerDelegate代理, 然后实现代理方法- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGesture...
2018-10-18 10:44:05 225
原创 iOS 11 ScrollView 新特性
if (@available(iOS 11.0, *)) { _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; }
2018-10-18 10:40:26 271
转载 weak内部原理
weak表其实是一个hash(哈希)表,Key是所指对象的地址,Value是weak指针的地址数组。weak 的实现原理可以概括一下三步:1、初始化时:runtime会调用objc_initWeak函数,初始化一个新的weak指针指向对象的地址。2、添加引用时:objc_initWeak函数会调用 objc_storeWeak() 函数, objc_storeWeak() 的作用是更新...
2018-10-18 10:39:15 132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人