Questions de développement iOS (11)

黄舟
Libérer: 2023-03-05 06:56:01
original
1304 Les gens l'ont consulté

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)
}
}
Copier après la connexion

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 *
}
Copier après la connexion

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).

Vérifiez également la largeur (ou contrainte de largeur), la hauteur (ou contrainte de hauteur) et la taille du contenu de la liste de UICollectionView, car lorsque le contenu de la liste est plus petit que la largeur (ou la hauteur) de UICollectionView, la barre de défilement dans cette direction n'apparaîtra pas.
BOOL animationsEnabled = [UIView areAnimationsEnabled];
[UIView setAnimationsEnabled:NO];
[myCollectionView reloadItemsAtIndexPaths:myIndexPaths];
[UIView setAnimationsEnabled:animationsEnabled];
Copier après la connexion
138. Pourquoi la cellule ne s'affiche-t-elle pas correctement lorsqu'elle utilise UITableViewCellStyleValue1 ?

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];
Copier après la connexion


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)
Copier après la connexion

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal