/ / Autolayout sprawia, że ​​ImageView w ScrollView nie jest przewijany - iphone, ios, objective-c, ios7, autolayout

Autolayout sprawia, że ​​ImageView w ScrollView nie jest przewijany - iphone, ios, obiektyw-c, ios7, autolayout

Więc ja i mój kumpel pracowaliśmy nad aplikacją.Mamy ImageView osadzone w ScrollView. Działało na iOS 5, ale teraz aktualizujemy go do iOS 7. Teraz musimy użyć autolayout, aby aplikacja znów wyglądała ładnie. Ale to wyłącza przewijanie. Od jakiegoś czasu próbowaliśmy dodać kod umożliwiający ponowne przewijanie obrazu, ale nic nie pomogło.

Próbowaliśmy wszystkiego, co mogliśmy pod słońcemznaleźć radzenie sobie z viewDidLoad (gdzie pierwotnie robiliśmy to dla iOS 5) i viewDidAppear (co dodaliśmy, aby zapewnić zgodność z iOS 7 i lepszymi standardami praktyczności). Wszelkie sugestie będą mile widziane, wyczerpaliśmy każdą próbę.

@property (weak, nonatomic) IBOutlet UIScrollView *Scroll;
@property (weak, nonatomic) IBOutlet UIImageView *Image;

...

- (void)viewDidLoad
{
[super viewDidLoad];

// This is what we did for iOS 5
//self.Scroll.contentSize = self.Image.image.size;
//self.Image.frame = CGRectMake(0, 0, self.Image.image.size.width, self.Image.image.size.height);
}

-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];

//One of the many NEW attempts for iOS 7
self.Scroll.contentSize = CGSizeMake(self.Image.image.size.width,self.Image.image.size.height);
}

Odpowiedzi:

1 dla odpowiedzi № 1

Prawdopodobnie masz niepoprawnie przypisane ograniczenia.

Udało mi się zmusić go do pracy z ograniczeniami:

NSDictionary *bindings = @{@"imageView": self.Image};
[self.Scroll addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[imageView]|" options:0 metrics:0 views:bindings]];
[self.myScrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[imageView]|" options:0 metrics:0 views:bindings]];

Zobacz też: https://stackoverflow.com/a/13548039/580291 i jak to wskazuje: https://developer.apple.com/library/ios/releasenotes/General/RN-iOSSDK-6_0/index.html (wyszukaj scrollview)