页面布局
文章平均质量分 51
梁森森
这个作者很懒,什么都没留下…
展开
-
ios开发中使用Masonry对多个视图进行均匀布局
之前写过一篇文章是和均匀布局相关的(文章地址:https://www.jianshu.com/p/8240d46aabc4)今天发现Masonry给出了我们均匀布局的方法。我们需要先将要进行均匀布局的视图放到一个数组中,然后通过Masonry为NSArray添加的一个分类:NSArray+MASAdditions.h调用数组的一个方法。核心代码: 效果图: demo地址:h...原创 2018-06-06 14:59:41 · 4143 阅读 · 1 评论 -
iOS开发中使用百度地图计算两点间的距离
我们在使用到百度地图的项目中可能会需要计算两点间的距离,我们可以很容易通过百度地图的开发文档中找到计算两点间距离的方法:BMKMapPoint point1 = BMKMapPointForCoordinate(userLocation.location.coordinate);BMKMapPoint point2 = BMKMapPointForCoordinate(CLLo原创 2017-05-18 10:21:56 · 5264 阅读 · 2 评论 -
再简单说说UITableView中Cell的复用
之前的一篇博客已经说过了UITableView中Cell的复用,最近有人问到了我相同的问题,因此再简单说一下。之前博客的地址:http://blog.csdn.net/u010105969/article/details/52583210cell的复用:在我们使用了cell的复用之后系统会将移出屏幕的cell放到缓存池中进行缓存,在滑动屏幕的时候显示其他的cell的时候就会从缓存池中取出已经缓原创 2017-05-18 09:41:01 · 526 阅读 · 0 评论 -
iOS中的转场动画
在iOS开发中有时会有一些动画的需求,本篇博客我们说一下动画效果。本篇博客中的动画是动画中的一种--转场动画(CATransition)。1.为导航控制器添加动画。在一般的开发中在一个控制器push到下一个控制器的时候苹果会有一个默认的动画即下一个控制器平移过来将上一个控制器覆盖,大多数的应用也使用了苹果给出的默认动画效果。然而有些项目在一个控制器push到下一个控制器的时候却需要添加一些原创 2017-03-26 21:21:40 · 757 阅读 · 1 评论 -
ios7之后导航栏的问题1
iOS7之后rootView(即根视图)的原点是(0,0),当根视图控制器是NavigationController的时候有时一些视图的原点却会发生一些变化,有时是(0,0),有时是(0,64),而我们设置的却一直是(0,0),这到底是为什么呢?下面就给读者解释一下(实际也是自己重新梳理一下)。首先我们添加一个普通视图,设置其原点是(100,0),代码:self.view.back原创 2016-11-25 15:02:06 · 346 阅读 · 0 评论 -
ios7之后导航栏的问题2
在《ios7之后导航栏的问题1》(http://blog.csdn.net/u010105969/article/details/53333748)博客中我们提到了在有导航栏的情况下根视图的坐标原点的的问题,但我当初添加的是一个普通的视图,如果我们添加的是一个UITableView我们会发现问题又会有所不同。添加UITableView的代码:UITableView * tableV =原创 2016-11-25 15:43:05 · 295 阅读 · 0 评论 -
设置UILabel的行间距
NSString *textStr =@"我是中国人我来大家来看啊大家块钱哦呢啊分开了撒酒疯撒撒两放假拉屎在。,厦门 vv撒了见风使舵。"; UILabel *openMicPrivilegeTipsLabel = [[UILabelalloc] initWithFrame:CGRectMake(starX +10, starY, textSize.width, text原创 2016-11-21 18:12:40 · 513 阅读 · 0 评论 -
设置UITextView的行间距
项目中通常会对文字设置行间距,当我们使用UITextView显示文字的时候可以对UITextView内的文字设置行间距:UITextView * textV = [[UITextViewalloc] initWithFrame:CGRectMake(0,20, 300, 200)];// textV.selectable = NO; [textV原创 2016-11-21 18:01:40 · 2935 阅读 · 0 评论 -
UILabel显示固定行数的问题
在项目中我们有时会遇到这样的需求:显示一段文字,但这段文字最多显示4行。我们首先考虑没有行数显示的情况:UILabel * lbl = [[UILabelalloc] init]; lbl.backgroundColor = [UIColorredColor]; lbl.textColor = [UIColorblackColor];原创 2016-11-21 17:00:34 · 1749 阅读 · 0 评论 -
iOS开发中简单的图片浏览器
.m文件://// ImageBrowserView.m// dipai//// Created by 梁森 on 16/11/2.// Copyright © 2016年 梁森. All rights reserved.//#import "ImageBrowserView.h"#import "UI原创 2016-11-02 19:02:39 · 2201 阅读 · 2 评论 -
单独设置UIView的坐标x或y或width或height
在开发过程中我们有时需要单独设置UIView的坐标x或y或width或height,可如果直接设置我们发现并不能直接设置:如代码: imageV.frame.origin.x = 0;这样的代码是错误的,我们需要先获取获取UIView的frame,然后设置获取到的frame的一些属性,最后再将设置完成后的frame赋值给UIView。代码:CGRect frame =原创 2016-11-29 15:53:34 · 2262 阅读 · 0 评论 -
iOS开发中去掉tabBar上方的一条横线
最近在修改公司之前的一个项目中的bug的时候发现在tabBar上方有一条横线,在看了项目中的代码后发现这个问题是由于设置了tabBar的背景图导致的。设置背景图的代码:self.tabBar.backgroundImage = image;在之前的项目中也这样做过但并没有发现有一条横线,但在利用图层查看工具看了之前的一些项目后发现也是有一条横线的,可为什么之前的项目中并没有发现呢?原创 2017-05-18 11:03:40 · 4028 阅读 · 0 评论 -
iOS开发中QQ好友列表下拉显示全部好友实现思路
在QQ的好友页面有一个点击各个分类,然后展示分类中所有好友的效果,今天就说一说实现该效果的一个思路。这个页面肯定是需要一个UITableView的,在tableview的代理方法中要实现分区的一个方法,即要返回tableview的分区数。返回的分区数就是好友的分类数。tableview中各个分区的行数就是各个好友分类中的好友数。显示各个好友分类的视图是各个分区的一个头视图。头视图会有一个点原创 2017-06-16 00:28:07 · 995 阅读 · 0 评论 -
iOS开发中简单代码实现UITableView头视图拉伸效果
需求:实现UITableView头部视图(图片)能拉伸的效果。 效果图:头部图片能拉伸思路:使用masonry对头视图上的图片进行布局,当UITableView向下进行滑动的时候(即偏移量为负),更新头视图上图片top的约束,其约束与偏移量的y相等。 代码:(void)scrollViewDidScroll:(UIScrollView *)scrollView{Hea原创 2018-02-06 14:43:17 · 575 阅读 · 0 评论 -
iOS开发中的均匀布局
先看效果图:三个图片的均匀布局5个图片的均匀布局需求:在绿色框内实现图片的均匀布局。思路:1.先获取绿色框的宽度2.再获取所有图片的宽度3.获取图片间的间距((绿色框的宽度-所有图片的宽度)/(图片数-1))4.进行布局代码:CGFloat allImageW = 0.0f; NSInteger picC原创 2018-01-01 21:31:58 · 615 阅读 · 0 评论 -
iOS开发中系统的UITableViewCell只有当有数据的时候显示分割线
现在应该很少人直接使用系统的UITableViewCell了,大多数的App都使用了自定义的Cell。可最近在使用系统的UITableViewCell的时候发现一个问题,即使没有数据的Cell也会显示分割线,而我并不想让没有数据的Cell显示分割线。有一个设置separatorStyle的方法可以隐藏Cell的分割线,可这样会让所有的分割线都隐藏掉,也不符合我的需求。最后发现一个方法可以让只有数据原创 2017-08-03 18:01:39 · 2582 阅读 · 0 评论 -
在有TableView的页面一行代码收起键盘
相信有iOS开发经验的同学都知道如何收起键盘,可你知道吗,但一个页面有tableView的时候,一行代码就可以让键盘收起(不用去点击页面然后取消UITextField或UITextView的第一响应者,也不用去监听tableView的滚动事件然后隐藏键盘)。之前见过这个方法,但没有记录下来,今天需要用到这个方法于是上网搜了一下,又找到了这个方法,于是在这里记录一下(一大堆废话。。。)方法:(希原创 2017-08-03 16:56:11 · 979 阅读 · 1 评论 -
iOS开发中解决UIScrollView滚动时NSTimer失效的问题
我不知道大家在使用NSTimer的时候有没有发现如果我们滑动ScrollView,NSTimer就会失效。我曾经遇到过这样的问题,但需求是即使滑动scrollView,NSTimer也不能失效,于是就好好地研究了下这个问题。最终发现是NSTimer选择的一个模式的问题。代码:[[NSRunLoopcurrentRunLoop] addTimer:self.timerforMod原创 2017-04-10 22:12:29 · 3567 阅读 · 1 评论 -
iOS开发中利用runtime设置UITextView的默认文字
大家都知道UITextField有一个属性placeholder是用来设置默认文字的,但不知道大家知不知道UITextView也有一个类似的属性是可以用来设置默认文字的(反正在今天之前我是不知道的)。之前在项目中也遇到过设置UITextView的默认文字的功能,当初的做法是在UITextView上添加一个UILabel,让UILabel来显示UITextView的默认文字。今天在看别人的博客的时候原创 2017-07-17 18:17:06 · 1120 阅读 · 0 评论 -
两步设置状态栏字体颜色
第一步在plist文件中添加view controller-based……第二步://设置状态栏字体颜色 [application setStatusBarStyle:UIStatusBarStyleLightContent];原创 2015-09-08 21:11:45 · 886 阅读 · 0 评论 -
iOS开发中使用CIFilter生成二维码和条形码
在iOS7之后我们可以使用苹果自带的CIFilter这个类生成二维码,我们可以通过为UIImage这个类添加一个分类来实现该功能。代码:+ (UIImage *)qrCodeImageWithInfo:(NSString *)info width:(CGFloat)width{ if (!info) { returnnil;原创 2017-06-27 00:08:07 · 828 阅读 · 0 评论 -
iOS开发中动画之点赞图标放大效果
大多数手机App的点赞图标在我们点击的时候都会有一个放大的效果,随后还原。之前公司App有点赞功能但却没有这个放大之后还原的效果,于是研究一下准备将该效果添加到项目中。思路:为点赞图标添加一个动画,该动画分为两步:1.让点赞图标放大一定的倍数 2.让点赞图标还原到原来的大小重写点击图标的点击事件,代码:- (void)touchesBegan:(NSSetUITouch *>原创 2017-06-25 18:13:34 · 2369 阅读 · 0 评论 -
设置UITextField占位文字的颜色
目前了解到两种设置占位文字颜色的方法1.自定义,在UITextField上添加一个自己创建的UILabel,将该label上的文字作为占位文字然后设置其颜色。2.设置系统的占位文字颜色。代码:// 改变placeholder的文字颜色 text.placeholder =@"我是中国人"; // 获取占位label UILabel原创 2016-10-31 19:48:49 · 351 阅读 · 1 评论 -
改变UITextField的光标颜色
UITextField光标的颜色默认是蓝色的,之前产品经理想要让光标的颜色变成白色的,可在与我沟通的时候,他却改变了主意并没有要求我改变光标的颜色。因为在他打开了一个其他的App给我看的时候发现光标的颜色也是蓝色的,他也就不再改变我们App中光标的颜色了。之后这个问题也就被我给遗忘了,感觉光标的颜色也只能是默认的蓝色,不能改变,即使能改变或许会麻烦。最近在看视频学习的时候,发现光标的颜色是原创 2016-10-31 19:01:52 · 1894 阅读 · 0 评论 -
OC中的富文本
富文本可以将一串文字上的内容根据需求设置成不同的字体或大小如:“我是中国人”,我们将“我是中国人”中的“中国”设置成红色,而将“人”设置成较大的字体。代码:NSMutableAttributedString *AttributedStr = [[NSMutableAttributedStringalloc]initWithString:@"更多细则,请参见《会员礼遇条款》"];原创 2016-10-20 14:27:44 · 752 阅读 · 0 评论 -
iOS开中设置UITabBar的背景图片以及各个item的选中图片和未选中
[self.tabBarsetBackgroundImage:[UIImageimageNamed:@"biaoqianlan_beijingtu"]]; NSArray * selectImg =@[@"zixun_xuanzhong",@"faxian_xuanzhong", @"shequ_xuanzhong", @"wode_xuanzho原创 2016-07-18 17:45:56 · 1697 阅读 · 0 评论 -
UILabel上文字的自适应
效果图:原创 2016-05-11 17:11:34 · 333 阅读 · 0 评论 -
设置导航栏的背景色和标签栏的背景色
在开发中我们有时的需求是设置导航栏和标签栏的颜色,而实际我们如果直接设置背景颜色并不会达到我们预期的效果,设置的颜色只是浅浅的一层颜色,这是因为我们设置的背景色被覆盖了,并没有直接显示给我们。而我们如果效果达到预期的效果则需要调用设置背景图片的方法。方法如下:1.设置导航栏(navigationBar)的背景色: [self.navigationBarsetBackgrou原创 2016-04-29 15:33:55 · 4046 阅读 · 0 评论 -
点击状态栏回到顶部
“点击状态栏回到顶部”这个功能时苹果系统自带的,效果不错,很好用,很方便。可我们有时却会发现此功能不能使用,即我们如何点击状态栏都不能让表格回到顶部。出现这种情况可能是我们犯了一些错误。要想有“点击状态栏回到顶部”这个功能是有条件的,即当前视图上只有一个让系统可以识别的滚动视图-scrollView(tableView也是属于scrollView),因为系统要知道哪个滚动视图需要实现“点击状态原创 2016-05-06 11:53:42 · 2383 阅读 · 0 评论 -
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal让item上的图片原样显示
今天要说一个方法:imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal。这个方法同imageNamed:方法是一样的是用来创建一个image,但这个方法可以让图片显示图片的原来样式。当然我们大多数情况下创建的图片都是以本来面目显示的,可当我们创建tabBarItem上的图片的时候就会有所不同,系统默认tabBarItem上的图片被选中时原创 2016-04-07 22:40:41 · 2659 阅读 · 0 评论 -
改变UITextView的边框颜色
UITextView *textView = [[UITextView alloc]initWithFrame:CGRectMake(10, 100, 200, 40)];// 重点是改变textView的边框颜色,切记后边的CGColor textView.layer.borderColor = [[UIColor colorWithRed:215.0 / 255.0 green:原创 2016-04-07 15:38:37 · 662 阅读 · 0 评论 -
沙盒
因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件 每个iOS应用SDK都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制。 (1)、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒。 (2)、应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序文件夹中,转载 2016-03-18 10:38:29 · 246 阅读 · 0 评论 -
解决“真机上不能读取本地路径”的问题d
之前写了一个小demo,功能是获取相册中的某张图片并将此图片写入到本地,然后再从本地将此图片取出显示出来。有人会说这是干嘛啊?存进去再取出来。。。我这样做是为了将来上传图片的时候能用,如我们的上传头像功能。首先我们得选取相册中的图片,然后上传到远程服务器上。在上传图片的过程中,我们首先就得从本地取出图片。可我却遇到了问题,在模拟器上取图片的时候是完全可以的,可当在真机上的时候就出现了问题。原创 2016-03-18 10:06:46 · 881 阅读 · 0 评论 -
UIImageJPEGRepresentation和UIImagePNGRepresentation
在Iphone上有两种读取图片数据的简单方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. UIImageJPEGRepresentation函数需要两个参数:图片的引用和压缩系数.而UIImagePNGRepresentation只需要图片引用作为参数.通过在实际使用过程中,比较发现: UIImagePNGRepresentat转载 2016-03-17 17:40:56 · 395 阅读 · 0 评论 -
加载图片的两个方法:imageName: imageWithContentOfFile:
使用imageName:加载图片1.加载到内存当中会一直存在内存当中,(图片)不会随着对象的销毁而销毁。2.加载进去图片后,占用的内存归系统管理,我们是无法管理的。3.相同的图片是不会重复加载的4.加载到内存中占据的内存较大使用imageWithContentOfFile:加载图片1.加载到内存中占据的内存较小2.相同的图片会被重原创 2016-03-29 13:46:40 · 1714 阅读 · 0 评论 -
隐藏状态栏的两种方法
* 如果plist文件中的View controller-based status bar appearance属性设置为YES则prefersStatusBarhidden首先响应,[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];方法会失效,如果将View controller-ba原创 2016-08-19 15:15:11 · 609 阅读 · 0 评论 -
label中文字的自适应--使用masonry
之前写过一篇博客--《label中文字的自适应》,其中用到的是设置frame来计算高度。今天这篇博客要利用masonry来使单元格中的文字进行自适应。不啰嗦,直接上代码: //显示多行,自适应高度 UILabel *label3 = [[UILabelalloc] initWithFrame:CGRectZero]; [self.viewaddSub原创 2016-10-24 12:26:52 · 12017 阅读 · 2 评论 -
iOS中将字体设置成斜体且加粗
项目要求:某些字体设置成斜体且加粗。之前做过字体加粗,代码:[UIFont boldSystemFontOfSize:16.0f]可是并没有做过斜体加粗的效果。在网上找了很多资料,但都不能两者同时实现。最后的最后终于是找到了一个方法可以同时实现这两种效果。代码: levelL.font = [UIFontfontWithName:@"Arial-BoldItalicMT原创 2016-10-20 14:15:21 · 5952 阅读 · 0 评论 -
为TableView添加内边距以让Cell具有“穿透”效果
之前项目中有一个效果需求:让TabBar具有透明效果以能看到被TabBar盖住的内容。效果图:首先TabBar上背景色肯定得是有透明效果的。可如果直接使用高度为全屏TableView那么最后一个cell就只能以上图样式显示(最后一个cell的底部并不能在TabBar顶部),这与效果图又有些不符。效果图:我刚开始的做法是为tableView添加一个高度为49的透明脚视图并且实原创 2016-11-09 12:06:51 · 1871 阅读 · 0 评论 -
UIButton中的setBackgroundImage和setImage方法的选择
在设置UIButton的图片的时候发现有两个方法setBackgroundImage 和 setImage,之前并没有发现两者有太大的区别(使用setBackgroundImage后设置title没问题,使用setImage后设置的title会被挡住),因为项目中使用的带有图片的按钮几乎没有文字。而哪些带有文字的按钮也没有什么特殊的图片,于是会不使用图片。所以本人一直使用的setBackgroun原创 2016-10-17 18:36:29 · 1021 阅读 · 0 评论