Wenn eine neue Ansicht mit einer UIBarButtonSystemItemCompose-Schaltfläche in der Navigationsleiste angezeigt wird, ist die Position leicht aus und wird angepasst, nachdem die Ansicht angezeigt wurde.Compose UIBarButtonItem ändert die Position beim Anzeigen der Position leicht
Ich denke, dies ein Fehler in iOS (Version 8.3) verwendet. Es tritt nur auf, wenn das UIBarButtonSystemItemCompose verwendet. Bei anderen Arten von Schaltflächen (System, Text oder Benutzerdefiniert) ist dies nicht der Fall.
Der einzige Code benötigt, um diesen Fehler zu replizieren, ist dieses Viewcontroller-Code mit der Ansicht zu verwenden, die in den Blick kommen:
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIBarButtonItem* composeBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera
target:nil
action:nil];
[self.navigationItem setRightBarButtonItem:composeBarButtonItem animated:YES];
}
@end
ich ein Repository auf GitHub mit Nötigste Code erstellt haben, um das Problem zu reproduzieren: https://github.com/jvdvleuten/iOSComposeBarButtonItemBug
Sieht im Zusammenhang damit: UIBarButtonItems shift position when UINavigationController is presented modally, außer mein Fehler erscheint nur bei Verwendung der UIBarButtonSystemItemCompose.
Irgendwelche Ideen?
ya..it einen Fehler, wenn Sie als Stil zu verfassen ... aber ich denke, Sie sollten 'viewDiidAppear' für diesen Code verwenden ... –
Nein, wenn Sie den Code in ViewDidApear verwenden, kommt die Ansicht in Aussicht ohne ohne den Knopf. Das ist kein Standard. –
ya ich weiß ... aber es ist eine Lösung für jetzt ... anstatt dieser irritierenden Ansicht .... das ist die bessere Lösung ... oder verwenden Sie Sergey Kuryanov als Lösung antworten –