131. ScrollView가 특정 방향으로 스크롤되지 않도록 제한하는 방법은 무엇입니까?
예를 들어 x 방향 스크롤을 제한하려면 UIScrollViewDelegate 프로토콜 메서드를 구현할 수 있습니다.
func scrollViewDidScroll(scrollView: UIScrollView) { ifabs(scrollView.contentOffset.x) > 0 { scrollView.contentOffset= CGPointMake(0, scrollView.contentOffset.y) } }
132 O-C 프레임워크를 Swift 프레임워크 대상으로 가져오는 방법
BmobSDK 가져오기 예를 들어(CommonCrypto 등. C/O-C 프레임워크의 경우에도 마찬가지입니다), Link Binary With Libraries에 BmobSDK를 추가하면 "importBmobSDK" 문을 사용할 때 오류가 발생합니다. 해당 모듈이 없습니다
브리징 헤더를 사용하여 BmobSDK를 가져오려고 하면 또 다른 오류가 발생합니다.
Swift Framework가 브리징 헤더 파일을 지원하지 않기 때문입니다.
이 문제를 해결하려면 다음 단계를 거쳐야 합니다.
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 모듈로 사용할 수 있습니다.
2) 빌드 설정에서 가져오기 경로(SWIFT_INCLUDE_PATHS)를 찾아 BmobSDK 디렉터리를 추가합니다. 아래 그림과 같이:
3) Swift 파일에서 BmobSDK 프레임워크를 가져옵니다.
import BmobSDK
133. App Extension에서 CocoaPods를 사용하는 방법
다음 문장을 추가합니다. Podfile에서:
link_with 'extension name'
브리징 헤더 파일을 추가하고 Objective-C BridgingHeader를 설정합니다.
134. Xcode에서 미리 컴파일된 헤더가 빌드된 이후 'xxx.pch' 오류가 수정되었습니다. DocumentPickerViewController의 documentStorageURL 속성이 nil을 반환합니다.
컨테이너 앱의 앱 그룹, 문서 제공자 확장자, 파일 제공자 확장자가 올바르게 설정되어 있는지 확인하고, 느낌표가 있으면 수정해 주세요.
136. CollectionView에 셀 삽입 및 삭제
TableView와 마찬가지로 insertItemsAtIndexPaths()/deleteItemsAtIndexPaths()를 사용하여 셀을 삽입/삭제할 수 있습니다. 차이점은 CollectionView가 더 이상 startUpdates()/endUpdates() 작업을 지원하지 않는다는 것입니다. 삽입/삭제 애니메이션은 기본적으로 지원됩니다. 기본 애니메이션 효과를 원하지 않으면 UIView의 animationsEnabled 속성을 설정할 수 있습니다.
BOOL animationsEnabled = [UIView areAnimationsEnabled]; [UIView setAnimationsEnabled:NO]; [myCollectionView reloadItemsAtIndexPaths:myIndexPaths]; [UIView setAnimationsEnabled:animationsEnabled];
UITableViewCell에는 UITableViewCellStyleDefault, UITableViewCellStyleValue1 및 UITableViewCellStyleValue2와 같은 여러 가지 기본 제공 유형이 있습니다.
이러한 셀은 SDK에 의해 사전 구성되며 글꼴 크기, 색상, 정렬 등과 같은 고정된 내장 스타일을 제공합니다. 이러한 구성을 수정하려는 경우 디스플레이가 정상적이지 않을 가능성이 높습니다. 예를 들어 일부 텍스트가 잠시 표시되었다가 잠시 표시되지 않거나 고유의 글꼴(및 색상)이 잠시 표시되는 경우가 있습니다. 을 클릭한 다음(예: 셀 클릭) 수정된 글꼴(및 색상)이 다시 표시됩니다.
이 경우 자신만의 셀을 사용자 정의하는 것이 더 좋습니다(하위 클래스화).
139.boundingRectWithSize로 계산된 크기가 잘못되었습니다.
올바른 옵션 매개변수를 제공하도록 주의하세요. UILabel의 경우 UsesLineFragmentOrigin 및 UsesFontLeading:
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)
위는 iOS 개발 질문(11)의 내용입니다. 더 많은 관련 내용을 보려면 PHP 중국어를 참고하세요. 웹사이트(www.php.cn)!