IOS开发笔记之开发的一些技巧

昨天偶尔看到一个开发技巧的文章 觉得很有意思,转载下


TableView不显示没内容的Cell怎么办?




类似这种,我不想让下面那些空的显示.

很简单.

self.tableView.tableFooterView = [[UIView alloc] 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;

键盘事件写的好烦躁,都想摔键盘了,怎么办?

  1. 买个结实的键盘.

  2. 使用IQKeyboardManager(github上可搜索),用完之后腰也不疼了,腿也不酸了.

为什么我的app老是不流畅,到底哪里出了问题?

如图

这个神器叫做:KMCGeigerCounter,快去github搬运吧.

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

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

怎么点击self.view就让键盘收起,需要添加一个tapGestures么?

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

怎么给每个ViewController设定默认的背景图片?

使用基类啊,少年。

想在代码里改在xib里添加的layoutAttributes,但是怎么用代码找啊?


像拉button一样的拉你的约束.nslayoutattribute也是可以拉线的.

怎么像safari一样滑动的时候隐藏navigationbar?

navigationController.hidesBarsOnSwipe = Yes

导航条返回键带的title太讨厌了,怎么让它消失!

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

CoreData用起来好烦,语法又臭又长,怎么办?

MagicRecord

CollectionView 怎么实现tableview那种悬停的header?

CSStickyHeaderFlowLayout

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

- (void)pan:(UIPanGestureRecognizer *)sender
{
typedef NS_ENUM(NSUInteger, UIPanGestureRecognizerDirection) {
UIPanGestureRecognizerDirectionUndefined,
UIPanGestureRecognizerDirectionUp,
UIPanGestureRecognizerDirectionDown,
UIPanGestureRecognizerDirectionLeft,
UIPanGestureRecognizerDirectionRight
};
static UIPanGestureRecognizerDirection direction = UIPanGestureRecognizerDirectionUndefined;
switch(sender.state) {
caseUIGestureRecognizerStateBegan: {
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;
}
caseUIGestureRecognizerStateChanged: {
switch(direction) {
caseUIPanGestureRecognizerDirectionUp: {
[self handleUpwardsGesture:sender];
break;
}
caseUIPanGestureRecognizerDirectionDown: {
[self handleDownwardsGesture:sender];
break;
}
caseUIPanGestureRecognizerDirectionLeft: {
[self handleLeftGesture:sender];
break;
}
caseUIPanGestureRecognizerDirectionRight: {
[self handleRightGesture:sender];
break;
}
default: {
break;
}
}
break;
}
caseUIGestureRecognizerStateEnded: {
direction = UIPanGestureRecognizerDirectionUndefined;
break;
}
default:
break;
}
}

拉伸图片的时候怎么才能让图片不变形?

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


怎么播放GIF的时候这么卡,有没有好点的库?

FlipBoard出品的太适合你了:点击打开链接

怎么一句话添加上拉刷新?

GitHub 刷新库点击打开链接

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

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

_mTableView.tintColor = [UIColor redColor];

本来我的statusbar是lightcontent的,结果用UIImagePickerController会导致我的statusbar的样式变成黑色,怎么办?

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

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

<div class="line number1 index0 alt2" style="max-width: 100%; color: rgb(62, 62, 62); font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', ΢���ź�, Arial, sans-serif; word-wrap: break-word !important; box-sizing: content-box !important; font-size: 1em !important; line-height: 1.1em !important; margin: 0px !important; padding: 0px 1em !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; outline: 0px !important; overflow: visible !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: inherit !important; white-space: pre !important; background-image: none !important;"><code class="js plain" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">[self.navigationBar setBackgroundImage:[UIImage </code><code class="js keyword" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">new</code><code class="js plain" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">]</code></div><div class="line number2 index1 alt1" style="max-width: 100%; color: rgb(62, 62, 62); font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', ΢���ź�, Arial, sans-serif; word-wrap: break-word !important; box-sizing: content-box !important; font-size: 1em !important; line-height: 1.1em !important; margin: 0px !important; padding: 0px 1em !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; outline: 0px !important; overflow: visible !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: inherit !important; white-space: pre !important; background-image: none !important;"><code class="js spaces" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">                         </code><code class="js plain" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">forBarMetrics:UIBarMetricsDefault];</code></div><div class="line number3 index2 alt2" style="max-width: 100%; color: rgb(62, 62, 62); font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', ΢���ź�, Arial, sans-serif; word-wrap: break-word !important; box-sizing: content-box !important; font-size: 1em !important; line-height: 1.1em !important; margin: 0px !important; padding: 0px 1em !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; outline: 0px !important; overflow: visible !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: inherit !important; white-space: pre !important; background-image: none !important;"><code class="js plain" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">self.navigationBar.shadowImage = [UIImage </code><code class="js keyword" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">new</code><code class="js plain" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">];</code></div><div class="line number4 index3 alt1" style="max-width: 100%; color: rgb(62, 62, 62); font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', ΢���ź�, Arial, sans-serif; word-wrap: break-word !important; box-sizing: content-box !important; font-size: 1em !important; line-height: 1.1em !important; margin: 0px !important; padding: 0px 1em !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; outline: 0px !important; overflow: visible !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; min-height: inherit !important; white-space: pre !important; background-image: none !important;"><code class="js plain" style="max-width: 100%; word-wrap: break-word !important; box-sizing: border-box !important;">self.navigationBar.translucent = YES;</code></div>

怎么改变uitextfield 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、付费专栏及课程。

余额充值