iOS CocoaTouch
CocoaTouch UI 系列
星宇大前端
大前端编程爱好者,开源爱好者。
展开
-
iOS ViewController生命周期
iOS 显示是 约束 -> 布局 -> 显示的过程,有时候你操作改变frame没有反应是因为还没有确定frameTestCode//// ViewController.swift// TestXib//// Created by zhangyu on 2019/11/13.// Copyright © 2019 zy. All rights reserved...原创 2019-11-22 10:44:50 · 330 阅读 · 0 评论 -
Xcode11.2 ScrollViews ContentLayout FrameLayout
更新Xcode11.2之后,Xib布局发现ScrollView的布局有些改变。 ContentLayout 和 FrameLayout 介绍ContentLayout 和 FrameLayout 都继承UILayoutGuide。UILayoutGuide: LayoutGuide我们在SafeArea的时候都使用过,简单的讲就是一个虚拟矩形,为了方便布局。Content...原创 2019-11-15 10:42:20 · 3640 阅读 · 0 评论 -
Xcode 11 Asset新增自定义color功能
Color可视化定义一直是我期待的内容,以前都是一个文件管理颜色。Xcode 11.2 Asset资源管理新增了一些资源管理,比如这个Color管理。 新建自定义Color和新增图片一样,创建一个bg的Color。 Xib使用直接选择named 的Color 代码使用UIColor.init(named: "bg")...原创 2019-11-14 14:56:30 · 2555 阅读 · 0 评论 -
iOS XibKits-- Label内边距设置
在使用Xib开发的时候,除了设置Label的外边距约束的时候,还会想设置下内边距即前端的padding,但Xib设置Label的padding并不直观,下面添加几个属性让Xib设置更简单。目的让XIb开发时更直观的设置Label的padding。 策略使用@IBInspectable 暴露属性给Xib设置修改Label边距使用@IBDesignable 在Xib...原创 2019-11-14 13:52:37 · 1770 阅读 · 0 评论 -
Swift 自定义返回按钮
有时候使用导航栏返回的时候,并不需要上一个页面的title。import UIKitextension UINavigationController{ func leftIsCostomBack(){ self.navigationItem.leftBarButtonItem = UIBarButtonItem.init(image: UIImage....原创 2019-10-18 11:24:47 · 1470 阅读 · 0 评论 -
导航栏搜索框简单封装
搜索框加入导航栏,代码简单封装,最后拿到搜索字符串。//// NavigationSearchItemHelper.swift// NVRCloudIOS//// Created by Nvr on 2018/11/16.// Copyright © 2018 zhangyu. All rights reserved.//typealias StringCallBa...原创 2019-10-18 09:44:45 · 584 阅读 · 0 评论 -
iOS tableView 分割线左右边距调整
tableView cell的分割线默认是左边不到头的1、默认左边留了15,调整SeprartorInset属性即可。原创 2018-11-26 11:02:08 · 1761 阅读 · 0 评论 -
UIImage 图片处理:截图,缩放,设定大小,存储
图片的处理大概分 截图(capture), 缩放(scale), 设定大小(resize), 存储(save)1.等比率缩放- (UIImage *)scaleImage:(UIImage *)image toScale:(float)scaleSize{UIGraphicsBeginImageContext(CGSizeMake(image.size.width *转载 2017-06-16 09:37:38 · 996 阅读 · 0 评论 -
加载指定bundleName照片
- (UIImage *)imageNamed:(NSString *)name ofBundle:(NSString *)bundleName { UIImage *image =nil; NSString *image_name = [NSStringstringWithFormat:@"%@.png", name]; NSString *原创 2016-12-20 17:36:08 · 524 阅读 · 0 评论 -
xib 创建scrollView 点击事件不可用问题
我们xib创建scrollView 的时候一般都用autoLayout , 这样的话都会在scrollView加上一个contentView.不可点击原因: 由于scrollView的contentSize是根据我们自己加入的contentView算的。如果我们自己改了contentSize,可以按照理想的滚动,但是contentView还是那么长,子控件越出contentView原创 2016-12-19 17:07:02 · 897 阅读 · 0 评论 -
iOS 连续多次present 之后,想回到最初的viewController
// The view controller that was presented by this view controller or its nearest ancestor.此视图控制器的视图控制器或其最近的祖先。@property(nullable,nonatomic,readonly)UIViewController *presentedViewControl原创 2016-12-19 16:53:27 · 2454 阅读 · 0 评论 -
iOS 颜色渐变
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0,(ScreenWidth/2)-30,ScreenWidth/2-2.5,30)]; CAGradientLayer *layer = [CAGradientLayernew]; layer.colors =@原创 2016-12-19 11:44:09 · 544 阅读 · 0 评论 -
Auto Layout看这篇真的够了
Apple从iOS6加入了Auto Layout后开始就比较委婉的开始鼓励、建议开发者使用自适应布局,但是到目前为止,我感觉大多数开发者一直在回避这个问题,不管是不是由于历史原因造成的,至少他们在心底还坚守着固定布局的老传统思想。随着iPhone6、iPhone6 Plus的到来,使用自适应布局更是迫在眉睫的事,固定布局的老传统思想脆弱的不堪一击。现在的iPhone有4种尺寸,如果算上iP转载 2018-02-07 10:20:31 · 374 阅读 · 0 评论 -
iOS 项目兼容8.0列表(Xib篇)
safeArea : 默认创建带有safeArea,9.0之后才有。需要手动勾去stackView: 9.0之后才有,去掉stackView自己约束wkwebview: 如果你在xib 中使用wkwebview ,那么应该去除使用纯代码,可以兼容到8.0...原创 2018-03-06 19:20:14 · 583 阅读 · 0 评论 -
Swift TextView Placeholder封装
PlaceholderTextViewgithub地址:https://github.com/RainManGO/PlaceholderTextView介绍简单的textView封装,支持一些常用的功能功能支持Placeholder占位字: 没有内容的时候显示的文字字数统计:显示输出字的个数 。字数限制: 输入到限制字数不让输入。retrun关闭键盘: 可选return关闭键盘。支持xib: xi...原创 2018-02-08 17:25:41 · 2160 阅读 · 0 评论 -
iOS 用户体验文档(appicon 等image的规范)
https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/app-icon/原创 2018-04-19 09:22:54 · 562 阅读 · 0 评论 -
UIBarButtonSystemItem 枚举样式查看
样式 图片 UIBarButtonSystemItemDone UIBarButtonSystemItemCancel UIBarButtonSystemItemEdit UIBarButtonSystemItemSave UIBarButtonSystemItemAdd UIBarButtonSystemItemFlexibl...原创 2018-12-23 15:05:31 · 361 阅读 · 0 评论 -
iOS 仿微信相册选择照片imagePicker(Swift) 序号 预览缩略图
序:微信最新版,选择照片控件细节有所改变,一般有轮子我是不会从新造的 。产品要求一模一样,无奈重新写。调查了一下,GitHub大部分仿微信imagePicker还是基于TZImagePicker,swift出了那么长时间了。决定写一个swift版,因在项目中,时间有限,所以在GitHub找了一个非常好的库进行改写。开源地址:WQPhotoAlbum演示功能支持高仿微信细...原创 2018-08-24 13:24:26 · 5288 阅读 · 7 评论 -
iOS 左滑按钮(UITableViewRowAction)显示图片
问题我们想要左滑删除按钮显示图片。但是系统默认只能添加文字。解决办法1、 找到UITableViewRowAction里面的字view,里面有一个button,我们加的文字就加在上面。2、将图片设置为背景颜色https://stackoverflow.com/questions/29421894/uitableviewrowaction-image-for-titlefunc ta...原创 2019-01-09 10:23:25 · 2733 阅读 · 0 评论 -
iOS flashScrollIndicators让滚动条多呆一会
观察了一下,iOS系统的通信录发现他们做的滚动条有一点小细节,滚动条刚出来的时候会闪一下,然后消失。看了下api发现了这个一直没有用过的属性。open func flashScrollIndicators() // displays the scroll indicators for a short time. This should be done whenever you bring t...原创 2019-06-18 10:28:45 · 1020 阅读 · 0 评论 -
点击空白关闭键盘
//点击空白收回键盘-(void)touchReturnPad{ self.view.userInteractionEnabled =YES; UITapGestureRecognizer *singleTap = [[UITapGestureRecognizeralloc] initWithTarget:selfaction:@se原创 2016-10-13 16:42:05 · 480 阅读 · 0 评论 -
iOS 禁止横屏
- (NSInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ returnUIInterfaceOrientationMaskPortrait;}原创 2016-12-19 10:08:58 · 824 阅读 · 0 评论 -
Xcode搜索项目中文正则
@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?"原创 2016-12-23 11:36:47 · 1832 阅读 · 0 评论 -
iOS 格式化输出 不足补0
这两天有个同事和群里的人问这个问题,我比较诧异。虽然是个小问题,但是不是太好找。写下来吧1.不足几位前补0 2表示不足几位补字母 int hour = 4; endHour.text = [NSStringstringWithFormat:@"%02d",hour];2.小数保留位数原创 2016-11-23 17:11:24 · 17317 阅读 · 0 评论 -
iOS 秒杀倒计时 从服务器获得时间戳秒杀开始和结束倒计时。
@implementation GoodsViewController{ dispatch_source_t _timer;}// 求两个时间的时, 分 ,秒+(NSArray *)getTwoDataMin:(NSString *)stamp1 andWith:(NSString *)stamp2{ NSTimeInterval原创 2016-11-23 15:20:26 · 1578 阅读 · 0 评论 -
iOS呼吸动画
所谓的呼吸灯效果就是设置某个元件的透明度从无到有一直循环。1 - 首先定义动画方法#pragma mark -呼吸灯动画-(CABasicAnimation*) AlphaLight:(float)time{CABasicAnimation*animation =[CABasicAnimation原创 2016-11-23 11:37:19 · 2871 阅读 · 0 评论 -
CollectionView stortBoard headview bug
问题点:1.不显示问题 2.拖不出xib上的控件做属性 报错信息如下: outlets connot be connected to repeating content原因及解决办法:1.因为collectionView的headerView也有复用机制,所以需要实现复用代理方法解决如下:- (UICollectionReusableView *)coll原创 2016-11-23 09:49:50 · 628 阅读 · 0 评论 -
iOS didFinishLaunchingWithOptions方法里获取storyBoard的rootViewController
今天遇到个问题,想在didFinishLaunchingWithOptions方法里获取storyBoard的rootViewController。然后监听TabbarViewControllerde 点击事件(我的项目是storyBoard --> TabbarViewController形式)问题一: didFinishLaunchingWithOptions 和 storyBoard原创 2016-12-12 11:17:59 · 1965 阅读 · 0 评论 -
storyboard navigationBar 颜色色差和标题颜色问题
1.用storyboard设置navigationBar的色值有色差原因: navigationBar自带模糊效果,关掉即可解决办法: self.navigationBar.translucent = NO;2.用storyboard设置navigationBar的颜色,XIb上没有属性设置解决代码:[self.navigationBar setTitleTextAtt原创 2016-10-12 08:58:44 · 875 阅读 · 0 评论 -
storyboard tabBarItem 添加image和字体颜色问题
/* Images are created with UIImageRenderingModeAutomatic by default. An image with this mode is interpreted as a template image or an original image based on the context in which it is rendered. For e原创 2016-10-12 08:49:58 · 2238 阅读 · 0 评论 -
iOS 毛玻璃
毛玻璃效果 继承关系:毛玻璃效果的继承于nsobject 在UIkit框架中所以应用的时候,导入uikit框架即可。 注意点:这套毛玻璃API只是在iOS8.0以后的系统才可以使用,适配需注意。(8.0以前有自己的做法,可百度) UIImageView * imageView = [[UIImageView alloc]ini翻译 2016-05-04 11:53:41 · 512 阅读 · 0 评论 -
iOS tableView 隐藏多余分割线
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];原理:就是底部加footerView 并把footerView Frame置0原创 2016-11-24 11:23:38 · 1212 阅读 · 0 评论 -
iOS 颜色照片
@implementation UIImage (colorful)+ (UIImage *)imageWithColor:(UIColor *)color{ CGRect rect =CGRectMake(0.0f,0.0f, 1.0f,1.0f); UIGraphicsBeginImageContext(rect.size);原创 2016-11-24 14:13:55 · 392 阅读 · 0 评论 -
iOS Button title换行居中。
效果如图: 代码: NSString * title = @"11-28*8:00"; NSArray * stringArr = [titlecomponentsSeparatedByString:@"*"]; NSString * e原创 2016-11-25 14:17:46 · 3069 阅读 · 0 评论 -
iOS 全局修改字体
全局修改Lable/Button字体 本次版本需求要把原来的字体全改掉,由于项目中有的是代码创建的,有的是XIB中直接改的,一个一个改工作量太大,使用运行时可以很轻松的实现 首先,项目中大多数设置字体的控件有 Lable, Button等,控件的初始化,有三种方式,init,initWithFrame,awakeFromNib 所以,使用运行时替换这三个转载 2016-12-23 10:43:17 · 2551 阅读 · 0 评论 -
iOS 添加字体
最近做了一个面向缅甸用户的项目:国际化的时候出现缅甸文乱码现象,英文字体原因。下面介绍一下添加字体包:1.下载TTF字体包 ,拖进项目2.info.plist设置允许字体3.这样系统就有这种字体,乱码问题解决了。下载TTF的时候他会告诉你字体名也就是 iOS中的FamilyName ,可以直接选用。 Fam原创 2016-12-22 16:53:39 · 828 阅读 · 0 评论 -
iOS 原生分享
-(void)shareWithText:(NSString *)text AndIcon:(UIImage *)image AndUrl:(NSURL *)url{ NSString *textToShare = text; UIImage *imageToShare = image; NSURL *urlToShare = url;原创 2016-12-22 10:46:57 · 598 阅读 · 0 评论 -
iOS 悬浮可拖动可点击按钮
项目里下完单之后要悬浮红包,类似饿了吗那种。做完了记录下:@implementation SearchResultViewController{ UIButton * moveRedPacket;}#pragma mark 红包//创建移动红包的UI-(void)CreatMoveRedPa原创 2016-11-28 16:18:42 · 3436 阅读 · 0 评论 -
IOS Label下划线 中划线
/** * ZY CODE * * 给Label设置下划线 */+(void)setLabelUnderline:(UILabel *)label{ NSMutableAttributedString *content = [[NSMutableAttributedStringalloc] initWithString:label原创 2016-11-28 13:18:36 · 770 阅读 · 0 评论 -
uitableView左边不到头问题
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeInsetsZero]; }原创 2016-12-09 13:18:09 · 345 阅读 · 0 评论