- 博客(40)
- 收藏
- 关注
原创 iOS开发笔记之通过ipa母包生成多个ipa渠道包的自动化实现
本文的实现方案包括脚本参照的是简书的一篇文章ios打渠道包,根据我项目中的实际情况做了修改,在此记录一下整个实现过程。首先,我的需求是,在手上已有ipa安装包,也就是母包的情况下,修改母包中的某个文件中作为渠道号的值,生成新的ipa安装包,也就是带有渠道号的渠道包。ipa包,我们可以视为一个压缩包,使用解压工具对其解压可以得到一个名叫Payload的文件夹:Payload文件夹中是一个.app文件...
2018-06-11 15:34:44
3926
2
转载 iOS开发笔记之根据图片URL获取图片尺寸
转自简书:https://www.jianshu.com/p/9984c37f3f54加载网络图片时,根据Url获取图片的尺寸进行UI布局。可将方法+ (CGSize)getImageSizeWithURL:(id)URL;放在UIImage的分类中。引入系统的ImageIO.framework/** * 根据图片url获取图片尺寸 */+ (CGSize)getImageSizeWith...
2018-04-08 09:44:03
928
原创 iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程
1.Workspace可以方便SDK与Demo的联调,首先创建一个Workspace:2.创建Framework:选择Cocoa Touch Framework:加入之前创建的SDKWorkspace,点击Create:3.创建SDKDemo:再次新建Project,选择Single View Application:加入SDKWorkspace:4.生成Framework,关联Demo与SDK:...
2018-03-29 18:10:16
920
原创 iOS开发笔记之WKWebView的基本使用
// 导入头文件#import <WebKit/WebKit.h>// 遵循WKUIDelegate, WKNavigationDelegate, WKScriptMessageHandler@property (strong, nonatomic) WKWebView *webView;@property (strong, nonatomic) WKUserContent...
2018-03-29 15:55:25
325
原创 iOS开发笔记之解决键盘遮挡UITextField问题
// 键盘出现的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; // 键盘消失的通知 [[NSNotificationCent...
2018-03-29 14:43:26
382
原创 iOS可复用控件之分段滚动控件HTSegmentedScrollView
分段滚动页面是一个比较常见的需求,我把我的实现方式封装了一下,方便以后重复使用。实现效果:GitHub地址:https://github.com/runThor/HTSegmentedScrollView使用方式非常简单,添加segment的title以及添加滚动的view即可,代码如下:#import "HTSegmentedScrollView.h"- (void)viewDidLoad ...
2018-03-29 14:06:47
866
原创 iOS可复用控件之修改SDCycleScrollView实现轮播图的缩放效果
更新:优化了拖动卡片的判断偏移量,更易拖动切换卡片。GitHub地址:https://github.com/runThor/HTSDCycleScrollView之前的工作中碰到一个轮播图的需求,需要在图片滚动过程中实现缩放效果,查找资料后没有找到合适的第三方库,所以基于人气比较高的SDCycleScrollView进行修改,实现所需的缩放效果,同时也保留原本的普通轮播图模式,两种模式可以...
2018-03-28 14:07:22
7605
17
原创 iOS开发笔记之普通字符串与十六进制字符串的相互转换
// 普通字符串转换为十六进制的字符串- (NSString *)hexStringFromString:(NSString *)string { NSData *myD = [string dataUsingEncoding:NSUTF8StringEncoding]; Byte *bytes = (Byte *)[myD bytes]; NSString *hexSt...
2018-03-27 17:31:49
3919
原创 iOS开发笔记之跳转QQ聊天页、跳转微信、应用内拨打电话
NSURL *url;// QQurl = [NSURL URLWithString:[NSString stringWithFormat:@"mqq://im/chat?chat_type=wpa&uin=%@&version=1&src_type=web", @"QQ号"]];// 微信// url = [NSURL URLWithString:@"weixin...
2018-03-27 16:36:48
2627
原创 iOS开发笔记之UISlider控件在UIScrollView及其子类上的感应灵敏度处理
在项目过程中发现UISlider控件在UIScrollView上,或者在UIScrollView的子类View如UITableView上,用手指进行拖动操作时,感应不灵敏,后来上网查找发现,在这种情况下,手指按下时UIScrollView会首先响应触摸,在短暂的时间后UISlider才会响应,导致直接用手指去拖动的第一时间,UISlider的滑块不会移动,让使用者感觉滑块感应不灵敏。这种情况的解决...
2018-03-27 15:47:19
526
原创 iOS开发笔记之简单使用IJKMediaFramework实现视频直播
// 导入头文件#import <IJKMediaFramework/IJKMediaFramework.h>// 首先定义两个property@property (strong, nonatomic) IJKFFMoviePlayerController *playerVc;@property (strong, nonatomic) IJKFFOptions *option...
2018-03-27 14:33:29
1836
原创 iOS开发笔记之在某个ViewController中禁用右滑pop手势
// 在需要禁用右滑pop手势的ViewController中加入以下代码 id target = self.navigationController.interactivePopGestureRecognizer.delegate; UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarg...
2018-03-27 13:48:11
2203
原创 iOS开发笔记之NSUserDefaults中存入自定义对象
+ (void)setDefaultAddress:(AddressItemModel *)defaultAddress { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setValue:[NSKeyedArchiver archivedDataWithRootObject:...
2018-03-27 11:16:26
180
原创 iOS开发笔记之从AFNetworking返回的Error中取出服务端返回的错误信息
最近的项目中,第一次遇到一种情况,服务端返回的错误信息包含在AFNetworking返回的Error中,以往服务端返回的信息,无论成功或者失败,都会从AFNetworking的success块中返回,failure块很少需要特别去处理。这次就尝试了从Error中取出需要的错误信息,这只是我所遇到的一种情况,还没有对其他可能的情况进行研究,有熟悉这部分内容的小伙伴可以分享一下,以下是获取错误信息的代...
2018-03-27 11:09:47
3000
原创 iOS开发笔记之一步跳转App Store中指定App的下载页
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.apple.com/cn/app/id%@?mt=8", @"指定App的AppID"]]];
2018-03-26 20:21:08
451
3
原创 iOS小乐子之买多少注彩票才能中超级大乐透头奖
GitHub地址:https://github.com/runThor/HTLottery实现: // 大乐透的玩法:前区号码范围1-35,随机选取5个不重复的数;后区号码范围1-12,随机选取2个不重复的数,头奖即所有号码完全一致 // 假定当期头奖结果 NSArray *f = @[@(5), @(10), @(18), @(25), @(33)]; // 前区
2017-10-16 13:41:29
697
原创 iOS可复用控件之滚动按钮组
GitHub地址:https://github.com/runThor/HTScrollButton效果:控件内部有一个ScrollView,按钮都加在ScrollView上。实现:ScrollView类:// HTButtonScrollView.h#import @interface HTButtonScrollView : UIScrollView/
2017-10-13 17:38:41
831
原创 iOS可复用控件之调节控件
GitHub地址:https://github.com/runThor/HTAdjustView效果:实现:// HTAdjustView.h#import @interface HTAdjustView : UIView// 设置名称、当前值、单位、上限值、下限值- (void)setName:(NSString *)name va
2017-10-13 16:35:08
353
原创 iOS可复用控件之发送动画
GitHub地址:https://github.com/runThor/HTSendAnimation效果:这里向上轻扫信封会出现信封旋转着向远处飞出的效果。实现:// HTSendAnimation.m#import "HTSendAnimation.h"@interface HTSendAnimation ()@property (nonatom
2017-10-13 16:08:03
291
原创 iOS可复用控件之悬浮按钮
GitHub地址:https://github.com/runThor/HTAssistiveTouchButton效果:
2017-10-13 15:45:49
1008
原创 iOS可复用控件之折线图
GitHub地址:https://github.com/runThor/HTChart可支持左右拖动、双指放大缩小操作。学习过PNChart的源码,这里是一个最基础、很简化的折线图。效果:实现:折线类:// HTLine.h#import @interface HTLine : UIView@property (nonatomic, strong) N
2017-10-13 14:27:33
334
原创 iOS开发笔记之view的渲染优化
view.layer.shouldRasterize = YES; view.layer.rasterizationScale = [UIScreen mainScreen].scale;
2017-10-13 13:41:11
245
原创 iOS可复用控件之表盘
GitHub地址:https://github.com/runThor/HTDial效果:实现:// 实际应用中,整个区域经常需要分为偏低区域、适中区域、偏高区域等不同的划分区域,要用不同的颜色标识,这里我们默认划分低、中、高三个区域,所以需要两个区域的间隔值// HTDialView.h#import @interface HTD
2017-10-13 10:51:04
598
原创 iOS开发笔记之元素为字典的数组,按元素的value排序
NSSortDescriptor *des = [NSSortDescriptorsortDescriptorWithKey:@"key"ascending:YES];NSArray *sortedArr = [array sortedArrayUsingDescriptors:[NSArrayarrayWithObject:des]];
2017-10-10 14:50:42
828
原创 iOS开发笔记之定位
#import @interface ViewController ()CLLocationManagerDelegate> { CLLocationManager *locationManager; NSString *longitude; // 纬度 NSString *latitude; // 经度 NSString *el
2017-10-10 14:28:53
331
原创 iOS开发笔记之判断字符串是否为浮点型或整型,是否以字母开头
// 判断字符串是否为浮点型- (BOOL)isPureFloat:(NSString*)string { NSScanner *scan = [NSScannerscannerWithString:string]; float val; return [scanscanFloat:&val] && [scan isAtEnd];}//...
2017-10-10 13:57:09
732
原创 iOS开发笔记之设置键盘为UIDatePicker
// 创建datePicker UIDatePicker *datePicker = [[UIDatePickeralloc] init]; // 本地化// self.datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh"]; // 格式 date
2017-10-10 11:08:08
206
原创 iOS开发笔记之设置view部分圆角
// 例:设置左下角为圆角UIBezierPath *maskPath = [UIBezierPathbezierPathWithRoundedRect:view.boundsbyRoundingCorners:UIRectCornerBottomLeftcornerRadii:CGSizeMake(5,5)];CAShapeLayer *maskLayer = [[CAS
2017-10-10 10:30:49
474
原创 iOS开发笔记之设置self.view原点为导航栏左下角
self.edgesForExtendedLayout =UIRectEdgeNone;
2017-10-09 18:00:20
1769
原创 iOS开发笔记之代码控制屏幕旋转
// 能否自动旋转-(BOOL)shouldAutorotate{ returnNO;}// 支持的屏幕方向-(UIInterfaceOrientationMask)supportedInterfaceOrientations{ returnUIInterfaceOrientationMaskPortrait;}// 默认的屏幕方
2017-09-30 10:36:04
869
原创 iOS开发笔记之渐隐提示框
// 初始化- (instancetype)init { if (self = [superinit]) { self.backgroundColor = [UIColorblackColor]; self.layer.cornerRadius =5.0f; self.layer.masksToBounds =YE
2017-09-29 11:42:31
571
原创 iOS开发笔记之Timestamp时间戳与各地区实际时间格式的相互转换
- (NSString *)transformTime:(long long)timestamp { NSDate *date = [NSDatedateWithTimeIntervalSince1970:timestamp]; NSString *template =@"yy/MM/dd HH:mm"; NSString *formatStr = [NSDa
2017-09-29 10:42:48
961
原创 iOS开发笔记之常用宏定义
// 单例#define SINGLETON_FOR_CLASS(classname) \\+ (classname*) shareInstance \{ \static dispatch_once_t pred = 0; \__strong static classname* _sharedObject = nil; \dispatch_once(&pred, ...
2017-09-27 17:43:25
300
原创 iOS开发笔记之获取App版本号、获取iOS系统版本
// 获取App版本号NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];NSString *appVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"];// 系统版本NSString *systemVersion = ...
2017-09-27 17:17:07
1395
原创 UISearchBar的部分自定义设置
// searchBar背景颜色 searchBar.barTintColor = [UIColorcolorWithRed:1 green:1 blue:1 alpha:1];// 设置searchBar中textField的图标和背景颜色 UIView * searchBarSubview = [searchBar.subviewsobjectAtIndex
2016-04-13 09:53:56
275
原创 UITableView的部分自定义设置以及iOS11下间距问题的处理方式
// 去除tableView在grouped状态下和导航栏之间的间隔self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0,0,0,CGFLOAT_MIN)];// 去掉headerView黏性- (void)scrollViewDidScroll:(UIScrollView *)scroll...
2016-04-13 09:51:11
588
原创 UIStatusBar和UINavigationBar的自定义设置
// statusBar样式[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];// 字体明暗[self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];// 半透明self.navigation...
2016-04-13 09:42:43
341
原创 UITabBar部分自定义设置
// 使用原始图片img = [img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];// 设置选中后的图片tabBarController.tabBar.selectedItem.selectedImage = img;// 设置tabBarItem图片居中for (UITabBarIte
2016-04-13 09:27:48
262
原创 UITextField的部分自定义设置
// 键盘类型textField.keyboardType = UIKeyboardTypeNumberPad;//placeholder字体颜色[textField setValue:[UIColor whiteColor] forKeyPath:@“_placeholderLabel.textColor”];//键盘return键样式[textField s
2016-04-12 17:29:24
247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人