Heim  >  Artikel  >  Backend-Entwicklung  >  Fragen zur iOS-Entwicklung (8)

Fragen zur iOS-Entwicklung (8)

黄舟
黄舟Original
2017-01-20 09:44:251201Durchsuche

90. Fehler „Profil nicht gefunden“ „CodeSign-Fehler: Kein Bereitstellungsprofil im Pfad „/Users/yourname/Library/MobileDevice/ProvisioningProfiles/F87A055A-EC0D-4F19-A015-57AB09DEBECB.mobileprovision““
in ProjectNavigator Wählen Sie Ihr Profil aus Projekt und verwenden Sie Ansicht ->Versionseditor -> Versionseditor anzeigen (oder verwenden Sie die Schaltfläche "Fragen zur iOS-Entwicklung (8)
" in der Symbolleiste). Bearbeiten Sie in der aktuellen Version (d. h. im Textbereich auf der linken Seite), suchen Sie nach der Zeichenfolge „F87A055A-EC0D-4F19-A015-57AB09DEBECB“ und ändern Sie dann alle „PROVISIONING_PROFILE[sdk=iphoneos*]“="F87A055A -EC0D-4F19 -A015-57AB09DEBECB „;“ Zeile wurde gelöscht.
91. In iOS 7 überlappt die Navigationsleiste die Ansicht des ViewControllers (d. h. die Ansicht wird um 44 Pixel nach oben verschoben).
Stellen Sie die obere Leiste des Navigationscontrollers auf „Opak…“ ein. (undurchsichtiger) Typ.
92. Warum werden die ToughBarButtonItems der Navigationsleiste in der umgekehrten Reihenfolge angezeigt, als sie hinzugefügt wurden?
Elemente in rightBarButtonItems werden beim Hinzufügen von rechts nach links hinzugefügt.
Angenommen, wir fügen 3 Schaltflächen zu rightBarButtonItems wie folgt hinzu:
[self.navigationItem setRightBarButtonItems:@[b1,b2,b3]animated:NO] Dann ist die Reihenfolge der 3 Schaltflächen, die Sie sehen: b3, b2, b1.
93. Warum wird nach der Installation eines Programms über OTA manchmal ein zusätzliches Symbol „Installieren...“ angezeigt und das Symbol kann nicht gelöscht werden?
Dieses Problem besteht nur unter iOS 7. Wie in der Abbildung unten gezeigt:


Fragen zur iOS-Entwicklung (8)

Darunter ist „Netzwerkassistent“ das Symbol, das nach der Installation des Programms auf dem Desktop angezeigt wird, und „Installieren“. ..“ ist der Installationsvorgang. Das in angezeigte Symbol ist nach Abschluss der Installation weiterhin vorhanden und kann vom Benutzer nicht gelöscht werden.
Dies wird durch die Inkonsistenz zwischen der Bundle-ID in der Installationsbeschreibungsdatei (.plist-Datei) und der .ipa-Datei verursacht. Die Lösung besteht darin, die Bundle-ID des Projekts in die Bundle-ID in der .plist-Datei zu ändern, eine neue .ipa-Datei zu kompilieren und die .ipa-Datei dann erneut auf dem Gerät zu installieren. Zu diesem Zeitpunkt kann das Symbol „Installieren...“ gelöscht werden.
94. Die Header-Datei des SDK wurde unbeabsichtigt geändert: „'xxx.h' wurde geändert, seit der vorkompilierte Header erstellt wurde“
Beim Schließen von Xcode wurde eine Fehlermeldung angezeigt dass die Datei nicht existiert, nicht automatisch gespeichert werden kann und das Beenden nicht möglich ist. Verwenden Sie „Beenden erzwingen…“, um Xcode zu schließen, zu bereinigen und erfolgreich neu zu kompilieren.
95. Die App kann im Inhouse-Publishing unter iOS 7.1 nicht installiert werden und der Bericht „Nicht-https-Manifest-URL konnte nicht geladen werden“
Legen Sie die für die Bereitstellung verwendete Datei manifest.plist auf den https-Server und Ändern Sie die Manifest-URL in Die ursprüngliche http-Adresse wird in eine https-Adresse geändert.
96. Wie erstelle ich das Bild von UIButton auf der rechten Seite des Titels?
Standardmäßig befindet sich das Bild von UIButton auf der linken Seite des Titels:
Fragen zur iOS-Entwicklung (8)
Aber manchmal möchten Sie vielleicht, dass es so aussieht:
Fragen zur iOS-Entwicklung (8)
Sie Sie müssen die Methode setImageEdgeInsets verwenden:

float width = _button.bounds.size.width;
[_buttonsetImageEdgeInsets:UIEdgeInsetsMake(0, width-_button.imageView.bounds.size.width,0, 0)];
[_buttonsetTitleEdgeInsets:UIEdgeInsetsMake(0, -_button.imageView.bounds.size.width+5,0, 0)];

97 Ändern Sie den Abschnittskopfstil der Tabellenansicht.
Bitte verwenden Sie die Methode willDisplayHeaderView in UITableViewDelegate.

- (void)tableView:(UITableView *)tableViewwillDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
if([viewisKindOfClass:[UITableViewHeaderFooterView class]]){
UITableViewHeaderFooterView *tableViewHeaderFooterView =(UITableViewHeaderFooterView *) view;
tableViewHeaderFooterView.contentView.backgroundColor = [UIColorclearColor];
tableViewHeaderFooterView.textLabel.font=[UIFont systemFontOfSize:13];
tableViewHeaderFooterView.textLabel.textColor=[UIColor blackColor];
}
}

98. Passen Sie die Hintergrundfarbe der Suchleiste an

for (UIView *subview in self.searchBar.subviews)
{
if([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
{
[subview removeFromSuperview];
break;
}
}
self.searchBar.backgroundColor = [UIColor colorWithWhite:0.85 alpha:1];

99. UIScrollView scrollt nicht unter Autolayout
Nur ​​wenn die ContentSize von UIScrollView ist größer als UIScrollView. Die Rahmengröße von UIScrollView kann gescrollt werden.
Aufgrund des Einflusses von Einschränkungen ist die Einstellung von ContentSize jedoch oft ungültig, sodass UIScrollView nicht scrollbar ist. Wir können die viewDidLayoutSubviews-Methode implementieren und ContentSize in dieser Methode festlegen:

- (void)viewDidLayoutSubviews {
_scrollView.contentSize=CGSizeMake(_scrollView.frame.size.width,_scrollView.frame.size.height+60);
}

100 Wenn ein bestimmter Typ „Unbekannter Typname“ in der Header-Datei erscheint
Tatsächlich ist der Frame oder Die Bibliothek wurde referenziert. Beispielsweise tritt der Fehler „Unbekannter Typname CGPoint“ auf und das Framework CoreGraphics, in dem sich CGPoint befindet, wurde vom Projekt korrekt referenziert.
Dieser Fehler wird durch „Cross-Header-Dateiverweis“ verursacht. Ein typischer Fehler besteht darin, dass eine Header-Datei (z. B. a.h) in einer .pch-Datei enthalten ist. Und .pch-Dateien werden beim Kompilieren von .m-Dateien automatisch einbezogen. Wenn Sie also eine a.h-Datei in eine .pch-Datei einbinden möchten, verwenden Sie am besten das Makro #ifdef__OBJC__:

#ifdef __OBJC__
#import "a.h"
#endif

Das Obige ist der Inhalt von iOS Development Fragen (8) und mehr Für verwandte Inhalte achten Sie bitte auf die chinesische PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn