OC 一些奇葩的问题 但解决方法却让你看后要吐血

转载自:http://blog.csdn.net/sorevenge/article/details/42239375

很多问题我们之前都觉得很蛋疼,觉得需要好费劲的绕一大圈才能解决,其实这些问题APPLE都帮我们考虑了,我们只是不知道而已,相信看完下面这些问题以及解决办法,很多人都会觉得,我次奥,居然就这么简单啊!

OK,let's go。

TableView没有使用完,下面有很多cell空着,但是线却在,我们怎么办,按之前的想法,肯定是自定义一个cell,然后去控制,巴拉巴拉一大堆,好麻烦。

那么apple的解决办法呢?show you

[objc]  view plain  copy
  1. self.tableview.tableFooterView = [[UIView all]init];  
仅此一句,我们的问题就解决了。


这就是解决之后的样子。是不是简单到吐血了!


自定义了leftBarbuttonItem作滑返回手势失效了怎么办?

[objc]  view plain  copy
  1. self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]  
  2.                                          initWithImage:img  
  3.                                          style:UIBarButtonItemStylePlain  
  4.                                          target:self  
  5.                                          action:@selector(onBack:)];  
  6. self.navigationController.interactivePopGestureRecognizer.delegate = (id<uigesturerecognizerdelegate>)self;</uigesturerecognizerdelegate>  


ScrollView莫名其妙不能在viewController划到顶怎么办?

[objc]  view plain  copy
  1. self.automaticallyAdjustsScrollViewInsets = NO;  


键盘事件写的好烦啊,每次都要写一次,简直想骂人了!

OK,消消气,IQKeyboardManager,可以帮你解决你不想看到的一切问题。(github真不错)


前方高能,请注意!!!

为什么我的APP总是不流畅呢,问题出在哪里!fuck

有个工具叫KMCGeigerCounter,不妨下载下来试试啊! (github 你懂得!)


怎么在不新建一个cell的情况下调整separaLine的位置?

[objc]  view plain  copy
  1. _myTableView.separatorInset = UIEdgeInsetsMake(010000);  


怎么点击view就让键盘收起,需要添加一个tap事件嘛 ?

[objc]  view plain  copy
  1. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  
  2. {  
  3.    [self.view endEditing:YES];  
  4. }  



给每个VC设定默认的BGIMG?

用基类就好了!


如何在代码里面改在XIB里添加的layoutAttributes,代码怎么找啊?

就像拉button一样的拉你的约束,nslayoutattribute也是可以拉线的。


Safari的滑动隐藏navigationbar的效果很赞啊!实现很难吧?

[objc]  view plain  copy
  1. navigationController.hidesBarsOnSwipe = Yes  


导航条返回键带的title太讨厌了,怎么搞掉它?

[objc]  view plain  copy
  1. [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)  
  2.                                                      forBarMetrics:UIBarMetricsDefault];  


coredata用起来好麻烦啊!!!

MagicRecord来帮你!


collectionView怎么搞定像tableview那种悬停的header?

CSStickyHeaderFlowLayou


用一个pan手势来代替UISwipegesture的各个方向?

[objc]  view plain  copy
  1. - (void)pan:(UIPanGestureRecognizer *)sender  
  2. {  
  3. typedef NS_ENUM(NSUInteger, UIPanGestureRecognizerDirection) {  
  4.     UIPanGestureRecognizerDirectionUndefined,  
  5.     UIPanGestureRecognizerDirectionUp,  
  6.     UIPanGestureRecognizerDirectionDown,  
  7.     UIPanGestureRecognizerDirectionLeft,  
  8.     UIPanGestureRecognizerDirectionRight  
  9. };  
  10. static UIPanGestureRecognizerDirection direction = UIPanGestureRecognizerDirectionUndefined;  
  11. switch (sender.state) {  
  12.     case UIGestureRecognizerStateBegan: {  
  13.         if (direction == UIPanGestureRecognizerDirectionUndefined) {  
  14.             CGPoint velocity = [sender velocityInView:recognizer.view];  
  15.             BOOL isVerticalGesture = fabs(velocity.y) > fabs(velocity.x);  
  16.             if (isVerticalGesture) {  
  17.                 if (velocity.y > 0) {  
  18.                     direction = UIPanGestureRecognizerDirectionDown;  
  19.                 } else {  
  20.                     direction = UIPanGestureRecognizerDirectionUp;  
  21.                 }  
  22.             }  
  23.             else {  
  24.                 if (velocity.x > 0) {  
  25.                     direction = UIPanGestureRecognizerDirectionRight;  
  26.                 } else {  
  27.                     direction = UIPanGestureRecognizerDirectionLeft;  
  28.                 }  
  29.             }  
  30.         }  
  31.         break;  
  32.     }  
  33.     case UIGestureRecognizerStateChanged: {  
  34.         switch (direction) {  
  35.             case UIPanGestureRecognizerDirectionUp: {  
  36.                 [self handleUpwardsGesture:sender];  
  37.                 break;  
  38.             }  
  39.             case UIPanGestureRecognizerDirectionDown: {  
  40.                 [self handleDownwardsGesture:sender];  
  41.                 break;  
  42.             }  
  43.             case UIPanGestureRecognizerDirectionLeft: {  
  44.                 [self handleLeftGesture:sender];  
  45.                 break;  
  46.             }  
  47.             case UIPanGestureRecognizerDirectionRight: {  
  48.                 [self handleRightGesture:sender];  
  49.                 break;  
  50.             }  
  51.             default: {  
  52.                 break;  
  53.             }  
  54.         }  
  55.         break;  
  56.     }  
  57.     case UIGestureRecognizerStateEnded: {  
  58.         direction = UIPanGestureRecognizerDirectionUndefined;     
  59.         break;  
  60.     }  
  61.     default:  
  62.         break;  
  63. }  
  64. }  


拉伸图片都变形了,怎么破!?

[objc]  view plain  copy
  1. UIImage *image = [[UIImage imageNamed:@"xxx"] stretchableImageWithLeftCapWidth:10 topCapHeight:10];  


GIF好卡啊!怎么办?

FlipBoard出品必为精品。附上链接https://github.com/Flipboard/FLAnimatedImage



上拉刷新好复杂?有简单的嘛?

come on ! https://github.com/samvermette/SVPullToRefresh

[objc]  view plain  copy
  1. [tableView addPullToRefreshWithActionHandler:^{  
  2. // prepend data to dataSource, insert cells at top of table view  
  3. // call [tableView.pullToRefreshView stopAnimating] when done  
  4. } position:SVPullToRefreshPositionBottom];  


怎么把tableview里cell的小对勾的颜色改成别的颜色?

[objc]  view plain  copy
  1. TableView.tintColor = [UIColor redColor];  


本来我的statusbar是lightcontent的,然后用了UIImagePickerController会导致我的statusbar的样式变成黑色,怎么破?

[objc]  view plain  copy
  1. - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated  
  2. {  
  3.     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];  
  4. }  


怎么把我的navigationbar弄成透明的而不是带模糊的效果?

[objc]  view plain  copy
  1. [self.navigationBar setBackgroundImage:[UIImage new]  
  2.                          forBarMetrics:UIBarMetricsDefault];  
  3. self.navigationBar.shadowImage = [UIImage new];  
  4. self.navigationBar.translucent = YES;  


怎么改变textfield的placeholder的颜色和位置?

继承uitextfield,重写这个方法

[objc]  view plain  copy
  1. - (void) drawPlaceholderInRect:(CGRect)rect {  
  2.     [[UIColor blueColor] setFill];  
  3.     [self.placeholder drawInRect:rect withFont:self.font lineBreakMode:UILineBreakModeTailTruncation alignment:self.textAlignment];  
  4. }  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值