生活随笔
收集整理的這篇文章主要介紹了
不可不知的:iOS开发的22个诡异技巧
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
結合自身的實踐開發經驗總結出了22個iOS開發的小技巧,以非常歡樂的語調輕松解決開發過程中所遇到的各種苦逼難題,光讀著便已忍俊不禁。
1. TableView不顯示沒內容的Cell怎么辦?
類似于圖1,我不想讓下面的那些空顯示。很簡單,添加“self.tableView.tableFooterView = [[UIView alloc] init];”試過都說好,加完這句之后就變成了圖2的樣子。
2. 自定義了leftBarbuttonItem左滑返回手勢失效了怎么辦?
self.navigationItem.leftBarButtonItem?=?[[UIBarButtonItem?alloc]?initWithImage:img?style:UIBarButtonItemStylePlain?target:self?action:@selector(onBack:)];?self.navigationController.interactivePopGestureRecognizer.delegate?=?(id<UIGestureRecognizerDelegate>)self;?3. ScrollView莫名其妙不能在viewController劃到頂怎么辦?
self.automaticallyAdjustsScrollViewInsets?=?NO;?4. 鍵盤事件寫得好煩躁,都想摔鍵盤了怎么辦?
買個結實的鍵盤;
使用IQKeyboardManager(GitHub上可搜索),用完之后腰也不疼了,腿也不酸了。
5. 為什么我的App老是不流暢,到底哪里出了問題?
如圖:
這個神器叫做:KMCGeigerCounter ,快去GitHub上搬運吧。
6. 怎么在不新建一個Cell的情況下調整separaLine的位置?
_myTableView.separatorInset?=?UIEdgeInsetsMake(0,?100,?0,?0);?7. 怎么點擊self.view就讓鍵盤收起,需要添加一個tapGestures么?
-?(void)touchesBegan:(NSSet?*)touches?withEvent:(UIEvent?*)event?{?[self.view?endEditing:YES];?}?8. 怎么給每個ViewController設定默認的背景圖片?
使用基類啊,少年。
9. 想在代碼里改在xib里添加的layoutAttributes,但該怎么用代碼找?
像拉Button一樣地拉你的約束,nslayoutattribute也是可以拉線的。
10. 怎么像Safari一樣滑動的時候隱藏navigationbar?
navigationController.hidesBarsOnSwipe?=?Yes?11. 導航條返回鍵帶的title太討厭了,怎么讓它消失?
[[UIBarButtonItem?appearance]?setBackButtonTitlePositionAdjustment:UIOffsetMake(0,?-60)?forBarMetrics:UIBarMetricsDefault];?12. CoreData用起來好煩,語法又臭又長怎么辦?
MagicRecord
13. CollectionView怎么實現tableview那種懸停的header?
CSStickyHeaderFlowLayout
14. 能不能只用一個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;?}?}?15. 拉伸圖片的時候怎么才能讓圖片不變形?
方法一:
UIImage?*image?=?[[UIImage?imageNamed:@"xxx"]?stretchableImageWithLeftCapWidth:10?topCapHeight:10];?注:有開發者提醒這個已經棄用,現在的方法叫resizableImageWithCapInsets。
方法二,如圖:
16. 怎么播放GIF的時候這么卡,有沒有好點的庫?
FlipBoard出品的FLAnimatedImage太適合你了。
17. 怎么一句話添加上拉刷新?
使用SVPullToRefresh庫:
[tableView?addPullToRefreshWithActionHandler:^{?}?position:SVPullToRefreshPositionBottom];?18. 怎么把tableview里Cell的小對勾顏色改成別的顏色?
_mTableView.tintColor?=?[UIColor?redColor];?19. 本來我的statusbar是lightcontent的,結果用UIImagePickerController會導致我的statusbar的樣式變成黑色,怎么辦?
-?(void)navigationController:(UINavigationController?*)navigationController?willShowViewController:(UIViewController?*)viewController?animated:(BOOL)animated?{?[[UIApplication?sharedApplication]?setStatusBarStyle:UIStatusBarStyleLightContent];?}?20. 怎么把我的navigationbar弄成透明的而不是帶模糊的效果?
[self.navigationBar?setBackgroundImage:[UIImage?new]?forBarMetrics:UIBarMetricsDefault];?self.navigationBar.shadowImage?=?[UIImage?new];?self.navigationBar.translucent?=?YES;?21. 怎么改變uitextfield placeholder的顏色和位置?
繼承uitextfield,重寫這個方法:
-?(void)?drawPlaceholderInRect:(CGRect)rect?{?[[UIColor?blueColor]?setFill];?[self.placeholder?drawInRect:rect?withFont:self.font?lineBreakMode:UILineBreakModeTailTruncation?alignment:self.textAlignment];?}?22. 你為什么知道這么多奇怪的花招?
去Stack Overflow刷問題啊,少年!
轉載于:https://www.cnblogs.com/iamjjh/p/4757860.html
總結
以上是生活随笔為你收集整理的不可不知的:iOS开发的22个诡异技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。