131. Comment empêcher ScrollView de défiler dans une certaine direction ?
Par exemple, pour restreindre le défilement dans la direction x, vous pouvez implémenter la méthode de protocole UIScrollViewDelegate :
func scrollViewDidScroll(scrollView: UIScrollView) { ifabs(scrollView.contentOffset.x) > 0 { scrollView.contentOffset= CGPointMake(0, scrollView.contentOffset.y) } }
132 Comment importer le framework O-C dans la cible Swift Framework
. Prenons BmobSDK comme exemple (la même chose est vraie pour les frameworks C/O-C tels que CommonCrypto), lorsque vous ajoutez BmobSDK à Link Binary With Libraries, lorsque vous utilisez l'instruction "importBmobSDK", une erreur se produit : aucun module de ce type
Si Si vous essayez d'utiliser des en-têtes de pontage pour importer BmobSDK, cela provoquera une autre erreur.
Cela est dû au fait que Swift Framework ne prend pas en charge le pontage des fichiers d'en-tête.
Pour résoudre ce problème, vous devez suivre les étapes suivantes :
1) Créez le répertoire BmobSDK dans le répertoire du projet et placez BmobSDK.framework dans ce répertoire. En parallèle, créez un fichier module.map dans ce répertoire avec le contenu suivant :
module BmobSDK [system] { header"/Users/kmyhy/Documents/Swift/code/第12章/kNote/BmobSDK/BmobSDK.framework/Headers/Bmob.h" link "BmobSDK" export * }
Cela nous permettra d'utiliser BmobSDK comme module Swift.
2) Dans les paramètres de construction, recherchez les chemins d'importation (SWIFT_INCLUDE_PATHS) et ajoutez le répertoire BmobSDK. Comme le montre la figure ci-dessous :
3) Importez le framework BmobSDK dans le fichier Swift :
import BmobSDK
133 Comment utiliser CocoaPods dans l'extension d'application
Ajoutez cette phrase. dans le Podfile :
link_with 'extension name'
Ajoutez le fichier d'en-tête de pontage et définissez l'Objective-C BridgingHeader.
134. L'erreur 'xxx.pch' a été modifiée depuis la création de l'en-tête précompilé dans Xcode. La propriété documentStorageURL est renvoyée comme nulle.
Confirmez que les groupes d'applications de l'application conteneur, l'extension du fournisseur de documents et l'extension du fournisseur de fichiers sont correctement définis, et s'il y a des points d'exclamation, veuillez les corriger.
136. Insertion et suppression de cellules dans CollectionView
Identique à TableView, nous pouvons utiliser insertItemsAtIndexPaths()/deleteItemsAtIndexPaths() pour insérer/supprimer des cellules. La différence est que CollectionView ne prend plus en charge les opérations startUpdates()/endUpdates(). L'animation d'insertion/suppression est prise en charge par défaut. Si vous ne souhaitez pas l'effet d'animation par défaut, vous pouvez définir l'attribut animationsEnabled de UIView :
137. UICollectionView dans UIScrollView ne défilera pas <. 🎜> Vérifiez si UIScrollView défile. Définissez l'attribut délégué et vérifiez si la méthode scrollViewDidScroll est implémentée dans le délégué. Si tel est le cas, veuillez supprimer la méthode (la simple annulation de l'attribut délégué ne fonctionnera pas).
BOOL animationsEnabled = [UIView areAnimationsEnabled]; [UIView setAnimationsEnabled:NO]; [myCollectionView reloadItemsAtIndexPaths:myIndexPaths]; [UIView setAnimationsEnabled:animationsEnabled];
UITableViewCell a plusieurs types intégrés, tels que UITableViewCellStyleDefault, UITableViewCellStyleValue1 et UITableViewCellStyleValue2.
Ces cellules sont préconfigurées par le SDK et présentent des styles intégrés fixes, tels que la taille de la police, la couleur, l'alignement, etc. Si vous souhaitez modifier ces configurations, il est probable que l'affichage ne soit pas normal. Par exemple, certains textes peuvent être affichés pendant un certain temps, puis pas pendant un certain temps, ou la police (et la couleur) inhérente s'affiche pendant un certain temps. , puis (par exemple en cliquant sur une cellule) s'affiche à nouveau. Affichez la police (et la couleur) modifiée.
Dans ce cas, il vaut mieux personnaliser votre propre cellule (sous-classement).
139. La taille calculée parboundingRectWithSize est incorrecte ?
Veillez à fournir les paramètres d'options corrects. Pour UILabel, vous devez utiliser au moins deux options : UsesLineFragmentOrigin et UsesFontLeading :
140 L'opération Bitwise OR (|) ne peut pas être effectuée sur plusieurs valeurs d'énumération dans Swift
. Notez que ce problème est résolu dans iOS 8.3 SDK Beta 1 (12F5027d). Pour les SDK inférieurs à cette version, nous pouvons utiliser le code suivant à la place :
CGRect paragraphRect = [attributedTextboundingRectWithSize:CGSizeMake(300.f, CGFLOAT_MAX) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) context:nil];
Ce qui précède est le contenu des questions de développement iOS (11). Pour plus de contenu connexe, veuillez prêter attention au contenu des questions de développement iOS (11). Site Web chinois PHP (www .php.cn) !
let options =unsafeBitCast(NSStringDrawingOptions.UsesLineFragmentOrigin.rawValue | NSStringDrawingOptions.UsesFontLeading.rawValue, NSStringDrawingOptions.self) let frame = text.boundingRectWithSize(size, options:options, attributes:D,context:nil)