Autolayout 使 ScrollView 中的 ImageView 无法滚动
Posted
技术标签:
【中文标题】Autolayout 使 ScrollView 中的 ImageView 无法滚动【英文标题】:Autolayout makes ImageView in ScrollView unscrollable 【发布时间】:2013-10-05 01:30:51 【问题描述】:所以我和我的伙伴一直在开发一个应用程序。我们在 ScrollView 中嵌入了一个 ImageView。它可以在 ios 5 上运行,但现在我们正在将其更新到 iOS 7。我们现在必须使用自动布局让它看起来再次看起来不错。但这会禁用滚动它。我们已经尝试了一段时间来添加允许图像再次滚动的代码,但没有任何帮助。
我们已经尝试了所有可以找到的处理 viewDidLoad(我们最初为 iOS 5 做的地方)和 viewDidAppear(我们添加的内容以符合 iOS 7 和更好的实用性标准)。任何建议都将不胜感激,我们已经用尽了所有尝试。
@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);
【问题讨论】:
【参考方案1】:您的约束可能分配不正确。
我能够让它在约束条件下工作:
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]];
另见:https://***.com/a/13548039/580291 并指出:https://developer.apple.com/library/ios/releasenotes/General/RN-iOSSDK-6_0/index.html(搜索滚动视图)
【讨论】:
我们在 iOS 5 中不必处理约束,我们如何知道我们是否正确/错误地分配了它们? 我建议您从 wwdc 视频中了解自动布局。以上是关于Autolayout 使 ScrollView 中的 ImageView 无法滚动的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AutoLayout (iOS/Xamarin.iOS) 使 ScrollView 适合其内容?
storyBoard方式ScrollView的AutoLayout
如何在 Xcode 6.3 中使用 AutoLayout 创建 ScrollView