一句話筆記(25)(小點)

一句話筆記,某段時間內遇到或看到的某個可記錄的點。 2017-05-12

  • 注釋的另一種用法
  • contentOffset.y 的不精確
  • UIApplicationRotationFollowingController 的出現

一、注釋的另一種用法

一般情況下,下面兩種注釋是我們最常用的:


/**
    測試字符串
 */
@property (nonatomic, copy) NSString *testStr;

@property (nonatomic, strong) UIView *testView; // 測試 視圖

常用的注釋
@property (nonatomic, strong) NSArray *testArray; ///< 測試數組
另一種注釋方法

此種方法,有時在不想代碼那么過長的情況下,可以嘗試。

二、contentOffset.y 的不精確

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 

}
contentOffset.y == 907.000000, headerViewHeight == 902.439987
contentOffset.y == 906.000000, headerViewHeight == 902.439987
contentOffset.y == 905.500000, headerViewHeight == 902.439987
contentOffset.y == 905.000000, headerViewHeight == 902.439987
contentOffset.y == 904.500000, headerViewHeight == 902.439987
contentOffset.y == 904.000000, headerViewHeight == 902.439987
contentOffset.y == 903.500000, headerViewHeight == 902.439987
contentOffset.y == 903.000000, headerViewHeight == 902.439987

上述在打印 scrollViewcontentOffset.y 時發現其值無法精準,永遠是以 0.5 的精度在變化,此時例如旁邊的 902.439987 就永遠無法等于啦。

  • 所以需要注意有時我們對這個值判斷是不準確的
  • 另外可以對,類似 902.439987, 進行 ceilffloorf 處理。
ceilf(_headerViewHeight);  // 向上取值
floorf(_headerViewHeight);  // 向下取值

三、 UIApplicationRotationFollowingController 的出現

出現 UIApplicationRotationFollowingController 這個的原因是,當我去獲?。?/p>

controller = [UIApplication sharedApplication].keyWindow.rootViewController;

發現居然是:

 po [controller class]   // ===  UIApplicationRotationFollowingController

原因: 此處是由于 keyWindow 已經發生改變,在最上一層就是 UIApplicationRotationFollowingController,下面的才是我們想要獲取的。

解決的辦法,獲取 RootViewController 換一個方式:

  • 方法一: .delegate
 AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
 UIViewController *rootViewController = appDelegate.window.rootViewController;
  • 方法二: 或者直接獲取自己的要的 TabBarViewController
NSArray<UIWindow *> *windows = [UIApplication sharedApplication].windows;
__block PQTabBarController *rootViewController ;
[windows enumerateObjectsUsingBlock:^(UIWindow * subWindow, NSUInteger idx, BOOL * _Nonnull stop) {
     if ([subWindow.rootViewController isKindOfClass:[PQTabBarController class]]) {
         rootViewController = (PQTabBarController *)subWindow.rootViewController;
         * stop = YES;
     }
}];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,981評論 19 139
  • 一、實驗目的 學習使用 weka 中的常用分類器,完成數據分類任務。 二、實驗內容 了解 weka 中 explo...
    yigoh閱讀 8,638評論 5 4
  • 1.badgeVaule氣泡提示 2.git終端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夾內容...
    i得深刻方得S閱讀 4,757評論 1 9
  • 關于用戶組的職責,群員互動及 群員維護,口碑負責。 用戶組是直接與用戶互動、維護群活躍,達到好口碑。 每個群都有群...
    秀雅_3ae0閱讀 105評論 0 0