你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 【解決方法】【技術】22個iOS開發的小技巧

【解決方法】【技術】22個iOS開發的小技巧

編輯:IOS開發綜合

1. TableView不顯示沒內容的Cell怎麼辦?

類似於圖1,我不想讓下面的那些空顯示。很簡單,添加“self.tableView.tableFooterView = [[UIView alloc] init];”試過都說好,加完這句之後就變成了圖2的樣子。

\

2. 自定義了leftBarbuttonItem左滑返回手勢失效了怎麼辦?

 

self.navigationItem.leftBarButtonItem=[[UIBarButtonItemalloc] initWithImage:img style:UIBarButtonItemStylePlain target:self action:@selector(onBack:)]; self.navigationController.interactivePopGestureRecognizer.delegate=(id)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*)toucheswithEvent:(UIEvent*)event { [self.viewendEditing:YES]; }

     

    8. 怎麼給每個ViewController設定默認的背景圖片?

    使用基類啊,少年。

    9. 想在代碼裡改在xib裡添加的layoutAttributes,但該怎麼用代碼找?

    像拉Button一樣地拉你的約束,nslayoutattribute也是可以拉線的。

    10. 怎麼像Safari一樣滑動的時候隱藏navigationbar?

     

     navigationController.hidesBarsOnSwipe=Yes

     

    11. 導航條返回鍵帶的title太討厭了,怎麼讓它消失?

     

    view plaincopy在CODE上查看代碼片派生到我的代碼片 [[UIBarButtonItemappearance]setBackButtonTitlePositionAdjustment:UIOffsetMake(0,-60) forBarMetrics:UIBarMetricsDefault];

     

    12. CoreData用起來好煩,語法又臭又長怎麼辦?

    MagicRecord

    13. CollectionView怎麼實現tableview那種懸停的header?

    CSStickyHeaderFlowLayout

    14. 能不能只用一個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; } }

     

    15. 拉伸圖片的時候怎麼才能讓圖片不變形?

    方法一:

     

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

     

    注:有開發者提醒這個已經棄用,現在的方法叫resizableImageWithCapInsets。

    方法二,如圖:

    \

    16. 怎麼播放GIF的時候這麼卡,有沒有好點的庫?

    FlipBoard出品的FLAnimatedImage太適合你了。

    17. 怎麼一句話添加上拉刷新?

    使用SVPullToRefresh庫:

     

     [tableViewaddPullToRefreshWithActionHandler:^{ //prependdatatodataSource,insertcellsattopoftableview //call[tableView.pullToRefreshViewstopAnimating]whendone }position:SVPullToRefreshPositionBottom];

     

    18. 怎麼把tableview裡Cell的小對勾顏色改成別的顏色?

     

    _mTableView.tintColor=[UIColorredColor];

    \

     

    19. 本來我的statusbar是lightcontent的,結果用UIImagePickerController會導致我的statusbar的樣式變成黑色,怎麼辦?

     

    -(void)navigationController:(UINavigationController*)navigationControllerwillShowViewController:(UIViewController*)viewControlleranimated:(BOOL)animated { [[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent]; }

     

    20. 怎麼把我的navigationbar弄成透明的而不是帶模糊的效果?

     

    [self.navigationBarsetBackgroundImage:[UIImagenew] forBarMetrics:UIBarMetricsDefault]; self.navigationBar.shadowImage=[UIImagenew]; self.navigationBar.translucent=YES;

     

    21. 怎麼改變uitextfield placeholder的顏色和位置?

    繼承uitextfield,重寫這個方法:

     

     -(void)drawPlaceholderInRect:(CGRect)rect{ [[UIColorblueColor]setFill]; [self.placeholderdrawInRect:rectwithFont:self.fontlineBreakMode:UILineBreakModeTailTruncationalignment:self.textAlignment]; }

     

    22. 你為什麼知道這麼多奇怪的花招?

    去Stack Overflow刷問題啊,少年!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved