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

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

OK,let's go。

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

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

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


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


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

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
                                         initWithImage:img
                                         style:UIBarButtonItemStylePlain
                                         target:self
                                         action:@selector(onBack:)];
self.navigationController.interactivePopGestureRecognizer.delegate = (id<uigesturerecognizerdelegate>)self;</uigesturerecognizerdelegate>


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

self.automaticallyAdjustsScrollViewInsets = NO;


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

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


前方高能,请注意!!!

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

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


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

_myTableView.separatorInset = UIEdgeInsetsMake(0, 100, 0, 0);


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

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
   [self.view endEditing:YES];
}



给每个VC设定默认的BGIMG?

用基类就好了!


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

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


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

navigationController.hidesBarsOnSwipe = Yes


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

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)
                                                     forBarMetrics:UIBarMetricsDefault];


coredata用起来好麻烦啊!!!

MagicRecord来帮你!


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

CSStickyHeaderFlowLayou


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

- (void)pan:(UIPanGestureRecognizer *)sender
{
typedef NS_ENUM(NSUInteger, UIPanGestureRecognizerDirection) {
    UIPanGestureRecognizerDirectionUndefined,
    UIPanGestureRecognizerDirectionUp,
    UIPanGestureRecognizerDirectionDown,
    UIPanGestureRecognizerDirectionLeft,
    UIPanGestureRecognizerDirectionRight
};
static UIPanGestureRecognizerDirection direction = UIPanGestureRecognizerDirectionUndefined;
switch (sender.state) {
    case UIGestureRecognizerStateBegan: {
        if (direction == UIPanGestureRecognizerDirectionUndefined) {
            CGPoint velocity = [sender velocityInView:recognizer.view];
            BOOL isVerticalGesture = 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;
    }
    case UIGestureRecognizerStateChanged: {
        switch (direction) {
            case UIPanGestureRecognizerDirectionUp: {
                [self handleUpwardsGesture:sender];
                break;
            }
            case UIPanGestureRecognizerDirectionDown: {
                [self handleDownwardsGesture:sender];
                break;
            }
            case UIPanGestureRecognizerDirectionLeft: {
                [self handleLeftGesture:sender];
                break;
            }
            case UIPanGestureRecognizerDirectionRight: {
                [self handleRightGesture:sender];
                break;
            }
            default: {
                break;
            }
        }
        break;
    }
    case UIGestureRecognizerStateEnded: {
        direction = UIPanGestureRecognizerDirectionUndefined;   
        break;
    }
    default:
        break;
}
}


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

UIImage *image = [[UIImage imageNamed:@"xxx"] stretchableImageWithLeftCapWidth:10 topCapHeight:10];


GIF好卡啊!怎么办?

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



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

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

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


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

TableView.tintColor = [UIColor redColor];


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

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}


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

[self.navigationBar setBackgroundImage:[UIImage new]
                         forBarMetrics:UIBarMetricsDefault];
self.navigationBar.shadowImage = [UIImage new];
self.navigationBar.translucent = YES;


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

继承uitextfield,重写这个方法

- (void) drawPlaceholderInRect:(CGRect)rect {
    [[UIColor blueColor] setFill];
    [self.placeholder drawInRect:rect withFont:self.font lineBreakMode:UILineBreakModeTailTruncation alignment:self.textAlignment];
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值