摘要:本文将带你了解IOS开发入门之TableView不显示没内容的Cell怎么办?,希望本文对大家学IOS有所帮助。
本文将带你了解IOS开发入门之TableView不显示没内容的Cell怎么办?,希望本文对大家学IOS有所帮助。
TableView不显示没内容的Cell怎么办?
类似这种,我不想让下面那些空的显示.
很简单.
1 self.tableView.tableFooterView=[[UIViewalloc]init];
试过的都说好.
加完这句之后就变成了这样.
自定义了leftBarbuttonItem左滑返回手势失效了怎么办?
self.navigationItem.leftBarButtonItem=[[UIBarButtonItemalloc] initWithImage:img style:UIBarButtonItemStylePlain target:self action:@selector(onBack:)]; self.navigationController.interactivePopGestureRecognizer.delegate=(id)self;
ScrollView莫名其妙不能在viewController划到顶怎么办?
self.automaticallyAdjustsScrollViewInsets=NO;
键盘事件写的好烦躁,都想摔键盘了,怎么办?
1.买个结实的键盘.
2.使用IQKeyboardManager(github上可搜索),用完之后腰也不疼了,腿也不酸了.
为什么我的app老是不流畅,到底哪里出了问题?
如图
这个神器叫做:KMCGeigerCounter,快去github搬运吧.
怎么在不新建一个Cell的情况下调整separaLine的位置?
_myTableView.separatorInset=UIEdgeInsetsMake(0,100,0,0);
怎么点击self.view就让键盘收起,需要添加一个tapGestures么?
-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event { [self.viewendEditing:YES]; }
怎么给每个ViewController设定默认的背景图片?
使用基类啊,少年。
想在代码里改在xib里添加的layoutAttributes,但是怎么用代码找啊?
像拉button一样的拉你的约束.nslayoutattribute也是可以拉线的.
怎么像safari一样滑动的时候隐藏navigationbar?
navigationController.hidesBarsOnSwipe=Yes
导航条返回键带的title太讨厌了,怎么让它消失!
[[UIBarButtonItemappearance]setBackButtonTitlePositionAdjustment:UIOffsetMake(0,-60) forBarMetrics:UIBarMetricsDefault];
CoreData用起来好烦,语法又臭又长,怎么办?
MagicRecord
CollectionView 怎么实现tableview那种悬停的header?
CSStickyHeaderFlowLayou
能不能只用一个pan手势来代替UISwipegesture的各个方向?
-(void)pan:(UIPanGestureRecognizer*)sender { typedefNS_ENUM(NSUInteger,UIPanGestureRecognizerDirection){ UIPanGestureRecognizerDirectionUndefined, UIPanGestureRecognizerDirectionUp, UIPanGestureRecognizerDirectionDown, UIPanGestureRecognizerDirectionLeft, UIPanGestureRecognizerDirectionRight }; staticUIPanGestureRecognizerDirectiondirection=UIPanGestureRecognizerDirectionUndefined; switch(sender.state){ caseUIGestureRecognizerStateBegan:{ if(direction==UIPanGestureRecognizerDirectionUndefined){ CGPointvelocity=[sendervelocityInView:recognizer.view]; BOOLisVerticalGesture=fabs(velocity.y)>fabs(velocity.x); if(isVerticalGesture){ if(velocity.y>0){ direction=UIPanGestureRecognizerDirectionDown; }else{ direction=UIPanGestureRecognizerDirectionUp; } } else{ if(velocity.x>0){ direction=UIPanGestureRecognizerDirectionRight; }else{ direction=UIPanGestureRecognizerDirectionLeft; } } } break; } caseUIGestureRecognizerStateChanged:{ switch(direction){ caseUIPanGestureRecognizerDirectionUp:{ [selfhandleUpwardsGesture:sender]; break; } caseUIPanGestureRecognizerDirectionDown:{ [selfhandleDownwardsGesture:sender]; break; } caseUIPanGestureRecognizerDirectionLeft:{ [selfhandleLeftGesture:sender]; break; } caseUIPanGestureRecognizerDirectionRight:{ [selfhandleRightGesture:sender]; break; } default:{ break; } } break; } caseUIGestureRecognizerStateEnded:{ direction=UIPanGestureRecognizerDirectionUndefined; break; } default: break; } }
拉伸图片的时候怎么才能让图片不变形?
UIImage *image = [[UIImage imageNamed:@"xxx"] stretchableImageWithLeftCapWidth:10 topCapHeight:10];
怎么播放GIF的时候这么卡,有没有好点的库?
FlipBoard出品的太适合你了:https://github.com/Flipboard/FLAnimatedImage
怎么一句话添加上拉刷新?
https://github.com/samvermette/SVPullToRefresh
[tableViewaddPullToRefreshWithActionHandler:^{ //prependdatatodataSource,insertcellsattopoftableview //call[tableView.pullToRefreshViewstopAnimating]whendone }position:SVPullToRefreshPositionBottom];
怎么把tableview里cell的小对勾的颜色改成别的颜色?
_mTableView.tintColor=[UIColorredColor];
本来我的statusbar是lightcontent的,结果用UIImagePickerController会导致我的statusbar的样式变成黑色,怎么办?
-(void)navigationController:(UINavigationController*)navigationControllerwillShowViewController:(UIViewController*)viewControlleranimated:(BOOL)animated { [[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent]; }
怎么把我的navigationbar弄成透明的而不是带模糊的效果?
[self.navigationBarsetBackgroundImage:[UIImagenew] forBarMetrics:UIBarMetricsDefault]; self.navigationBar.shadowImage=[UIImagenew]; self.navigationBar.translucent=YES;
怎么改变uitextfield placeholder的颜色和位置?
继承uitextfield,重写这个方法
-(void)drawPlaceholderInRect:(CGRect)rect{ [[UIColorblueColor]setFill]; [self.placeholderdrawInRect:rectwithFont:self.fontlineBreakMode:UILineBreakModeTailTruncationalignment:self.textAlignment]; }
你为什么知道这么多奇怪的花招?
去stackoverflow刷问题啊,少年!
能不能只用一个pan手势来代替UISwipegesture的各个方向?
-(void)pan:(UIPanGestureRecognizer*)sender { typedefNS_ENUM(NSUInteger,UIPanGestureRecognizerDirection){ UIPanGestureRecognizerDirectionUndefined, UIPanGestureRecognizerDirectionUp, UIPanGestureRecognizerDirectionDown, UIPanGestureRecognizerDirectionLeft, UIPanGestureRecognizerDirectionRight }; staticUIPanGestureRecognizerDirectiondirection=UIPanGestureRecognizerDirectionUndefined; switch(sender.state){ caseUIGestureRecognizerStateBegan:{ if(direction==UIPanGestureRecognizerDirectionUndefined){ CGPointvelocity=[sendervelocityInView:recognizer.view]; BOOLisVerticalGesture=fabs(velocity.y)>fabs(velocity.x); if(isVerticalGesture){ if(velocity.y>0){ direction=UIPanGestureRecognizerDirectionDown; }else{ direction=UIPanGestureRecognizerDirectionUp; } } else{ if(velocity.x>0){ direction=UIPanGestureRecognizerDirectionRight; }else{ direction=UIPanGestureRecognizerDirectionLeft; } } } break; } caseUIGestureRecognizerStateChanged:{ switch(direction){ caseUIPanGestureRecognizerDirectionUp:{ [selfhandleUpwardsGesture:sender]; break; } caseUIPanGestureRecognizerDirectionDown:{ [selfhandleDownwardsGesture:sender]; break; } caseUIPanGestureRecognizerDirectionLeft:{ [selfhandleLeftGesture:sender]; break; } caseUIPanGestureRecognizerDirectionRight:{ [selfhandleRightGesture:sender]; break; } default:{ break; } } break; } caseUIGestureRecognizerStateEnded:{ direction=UIPanGestureRecognizerDirectionUndefined; break; } default: break; } }
拉伸图片的时候怎么才能让图片不变形?
1. UIImage *image = [[UIImage imageNamed:@"xxx"] stretchableImageWithLeftCapWidth:10 topCapHeight:10];
(刚才有人提醒这个已经deprecated了哈,现在的方法叫resizableImageWithCapInsets).
2.如下操作:
怎么播放GIF的时候这么卡,有没有好点的库?
FlipBoard出品的太适合你了。https://github.com/Flipboard/FLAnimatedImage
怎么一句话添加上拉刷新?
https://github.com/samvermette/SVPullToRefresh
[tableViewaddPullToRefreshWithActionHandler:^{ //prependdatatodataSource,insertcellsattopoftableview //call[tableView.pullToRefreshViewstopAnimating]whendone }position:SVPullToRefreshPositionBottom];
怎么把tableview里cell的小对勾的颜色改成别的颜色?
_mTableView.tintColor = [UIColor redColor];
本来我的statusbar是lightcontent的,结果用UIImagePickerController会导致我的statusbar的样式变成黑色,怎么办?
-(void)navigationController:(UINavigationController*)navigationControllerwillShowViewController:(UIViewController*)viewControlleranimated:(BOOL)animated{ [[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent]; }
怎么把我的navigationbar弄成透明的而不是带模糊的效果?
[self.navigationBarsetBackgroundImage:[UIImagenew]forBarMetrics:UIBarMetricsDefault];self.navigationBar.shadowImage=[UIImagenew]; self.navigationBar.translucent=YES;
怎么改变uitextfield placeholder的颜色和位置?
继承uitextfield,重写这个方法
-(void)drawPlaceholderInRect:(CGRect)rect{ [[UIColorblueColor]setFill]; [self.placeholderdrawInRect:rectwithFont:self.fontlineBreakMode:UILineBreakModeTailTruncationalignment:self.textAlignment]; }
你为什么知道这么多奇怪的花招?
去stackoverflow刷问题啊,少年!
CGfloat和float的区别?
现在上架的app都要求支持64位系统,那么CGFloat和float的区别就在这里.command+左键点击CGFloat.
typedefCGFLOAT_TYPECGFloat;
这里可以看到CGFloat是CGFLOAT_TYPE的宏定义,那么这个又是什么?
#ifdefined(__LP64__)&&__LP64__ #defineCGFLOAT_TYPEdouble #defineCGFLOAT_IS_DOUBLE1 #defineCGFLOAT_MINDBL_MIN #defineCGFLOAT_MAXDBL_MAX #else #defineCGFLOAT_TYPEfloat #defineCGFLOAT_IS_DOUBLE0 #defineCGFLOAT_MINFLT_MIN #defineCGFLOAT_MAXFLT_MAX #endif
这段话的意思就是,64位系统下,CGFLOAT是double类型,32位系统下是float类型.CGFloat能够保证你的代码在64位系统下也不容易出错,所以你的代码应该尽量使用CGFloat.尽管他可能造成一些多余的消耗.不过能保证安全.
应该使用FOUNDATION_EXPORT还是#define来定义常量?
一般iOS我们定义常量的方法有两种,来看下面例子
我的.h文件
FOUNDATION_EXPORTNSString*constkMyConstantString; FOUNDATION_EXPORTNSString*constkMyConstantString2;
.m文件是这样定义的
NSString*constkMyConstantString=@"Hello"; NSString*constkMyConstantString2=@"World";
还有一种是常用的#define方法了
#definekMyConstantString@"Hello"
有什么区别呢?
使用第一种方法在检测字符串的值是否相等的时候更快.对于第一种你可以直接使用(stringInstance == MyFirstConstant)来比较,而define则使用的是这种.([stringInstance isEqualToString:MyFirstConstant])
哪个效率高,显而易见了.第一种直接比较的是指针地址,而第二个则是一一比较字符串的每一个字符是否相等.
static inline function是干嘛的?
如果你的.m文件需要频繁调用一个函数,可以用static inline来声明,这相当于把函数体当做一个大号的宏定义.不过这也不是百分之百有效,到底能不能把函数体转换为大号宏定义来用要看编译器心情,它要是觉得你的方法太复杂,他就不转了.他直接调用函数.
类似这种简单函数他肯定是乐意的.
staticinlineCGRectScaleRect(CGRectrect,floatn)
这到底是什么鬼?static void *CapturingStillImageContext = &CapturingStillImageContext;
这种声明方式常用于kvo,用来当做contenxt的key来添加.例如
[selfaddObserver:selfforKeyPath:@"stillImageOutput.capturingStillImage"options:(NSKeyValueObservingOptionOld|NSKeyValueObservingOptionNew)context:CapturingStillImageContext];
这种声明方式可以导致a method to create a unique pointer at compile time.在编译的时候创建一个唯一的指针.因为kvo的时候context如果不小心重复了,会发生奇怪的事情.用这种方式可以避免.
如何快速定位crash的位置?
选择Add Exception Breakpoint
这样如果你的app再crash就会自动定位到那句话.
最快速的提升流畅度的方法?
用instrument找出所有不需要透明但是透明的view,layer.全部弄成不透明的.
选中Profile
选中ColorBlended Layers
选择我们最近风生水起的weibo客户端
然后你会看见这些东西。
红色或者深红色的就是透明的层和view,他们就是拖慢你fps的罪魁祸首,如果不需要透明的就改掉.
一个神奇的工具,Accessorizer.
到底叼不叼,看图就知道了.
我安装的软件
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号