日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

不可不知的:iOS开发的22个诡异技巧

發布時間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不可不知的: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:^{?
  • //?prepend?data?to?dataSource,?insert?cells?at?top?of?table?view?
  • //?call?[tableView.pullToRefreshView?stopAnimating]?when?done?
  • }?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个诡异技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。