Ich versuche, sehr einfach Element mit neuen iOS 6 SDK mit Auto-Layout zu machen. Ich habe ein ImageView und es in ScrollView einbetten. (alles mit Interface Builder erstellt). Die .png-Datei ist festgelegt und der ImageView-Modus ist auf "Oben links" eingestellt.Embed ImageView in ScrollView mit Auto Layout auf iOS 6
Umsetzung:
#import "ImaginariumViewController.h"
@interface ImaginariumViewController()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@implementation ImaginariumViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.scrollView.contentSize = self.imageView.image.size;
self.imageView.frame =
CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);
}
@end
Wenn ich die app ausführen, wird das Bild nicht gescrollt. Wenn das Auto-Layout ausgeschaltet ist (mit Federbeinen und Federn), arbeite ich mit Scrollen. Ich denke, das Problem ist mit Einschränkungen. Könnte mir bitte jemand helfen?
Das funktioniert, danke! Wirklich seltsame Apple haben keine Informationen in iOS 6 Docs. Wahrscheinlich liegt das Problem daran, dass Constraints erst später gesetzt werden, wenn -viewDidLoad aufgerufen wird (tho, wie es vom Storyboard kommt, sollte es auf wayFeomNib gesetzt werden, früher als viewDidLoad genannt, so weit ich weiß). – Vitaly
Es gibt ein weiteres Problem beim Zoomen der Bildansicht innerhalb der Bildlaufansicht. – Vitaly
Mein Gott, das war so nervig. So viel Zeit verschwendet! Sobald es von viewDidLoad zu ViewDidAppear verschoben wurde, funktionierte es einwandfrei. Danke John! – Andy