131、如何限制ScrollView在某個方向上不可滾動?
例如,要限制x方向上不可滾動,可以實現UIScrollViewDelegate協議方法:
func scrollViewDidScroll(scrollView: UIScrollView) { ifabs(scrollView.contentOffset.x) > 0 { scrollView.contentOffset= CGPointMake(0, scrollView.contentOffset.y) } }
132、如何在Swift Framework目標中導入O-C框架
以BmobSDK 為例(CommonCrypto框架等C/O-C框架也是一樣的),當你將BmobSDK加入Link Binary With Libraries時,當你使用「importBmobSDK」語句時,出現錯誤:no such module
如果你試圖使用bridging headers導入BmobSDK,則會導致另一個錯誤。
這是由於Swift Framework不支援bridging headers檔。
解決這個問題,需要經過以下步驟:
1) 在專案目錄中建立BmobSDK目錄,將BmobSDK.framework放到這個目錄。同時在這個目錄下建立一個module.map文件,內容如下:
module BmobSDK [system] { header"/Users/kmyhy/Documents/Swift/code/第12章/kNote/BmobSDK/BmobSDK.framework/Headers/Bmob.h" link "BmobSDK" export * }
這將允許我們將BmobSDK當作Swift module來使用。
2) 在Build Settings中,找到Import Paths(SWIFT_INCLUDE_PATHS),增加BmobSDK目錄。如下圖所示:
3)在swift檔案中匯入BmobSDK框架:
import BmobSDK
133、如何在App Extension中使用CocoaPods
在Podfile中加入此句:
link_with 副的名字中加入此句文件,並設定Objective-C BridgingHeader。
134、錯誤'xxx.pch' has been modified since the precompiled header was builterror in Xcode
執行深度Clean(快捷鍵Option+Command+Shift+K)
135、Document Provider+Command+Shift+K)
135、Document ProviderViewer,DocumentSt. nil。
確認容器App,Document Provider擴充功能和File Provider擴充的App Groups設定正確,如果有任何驚嘆號,請Fixed。
136、插入和刪除CollectionView中的Cell
跟TableView一樣,我們可以用insertItemsAtIndexPaths()/deleteItemsAtIndexPaths()插入/刪除單元格。不同的是CollecionView不再支援beginUpdates()/endUpdates()操作。預設已支援插入/刪除動畫,如果不想要預設動畫效果,可以設定UIView的animationsEnabled屬性:
BOOL animationsEnabled = [UIView areAnimationsEnabled]; [UIView setAnimationsEnabled:NO]; [myCollectionView reloadItemsAtIndexPaths:myIndexPaths]; [UIView setAnimationsEnabled:animationsEnabled];
CGRect paragraphRect = [attributedTextboundingRectWithSize:CGSizeMake(300.f, CGFLOAT_MAX) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) context:nil];
let options =unsafeBitCast(NSStringDrawingOptions.UsesLineFragmentOrigin.rawValue | NSStringDrawingOptions.UsesFontLeading.rawValue, NSStringDrawingOptions.self) let frame = text.boundingRectWithSize(size, options:options, attributes:D,context:nil)