打开自动布局时的 UIScrollView(故事板)
Posted
技术标签:
【中文标题】打开自动布局时的 UIScrollView(故事板)【英文标题】:UIScrollView when Autolayout is turned on (StoryBoard) 【发布时间】:2013-03-06 02:31:32 【问题描述】:我正在与 UIScrollview 搏斗,结果把我打晕了。 我试图参考 *** 上的以下两篇文章
scrollview xcode4.5 autolayout, Xcode 4.5 UIScrollView, Embed ImageView in ScrollView with Auto Layout on ios 6,
我尝试了 viewDidLayoutSubviews,如中所述 UIScrollView setContentSize breaks view with Auto Layout 这导致我的应用程序崩溃。
我尝试了 ViewDidLoad、viewDidAppear 和 viewWillAppear,但没有任何效果。 我尝试了谷歌并找到了更多相关的帖子 https://coderwall.com/p/zfe8da, http://www.devx.com/wireless/Article/45113
我试图重新思考并没有发现我没有做的任何花哨的事情。这似乎很简单,直接的方法。
我没有线索或任何猜测请帮助我。
我正在使用以下代码,只是提到我在 ScrollView 中放置了 3 张图像。我将它们堆叠在一起,因此高度大于 iPhone 屏幕高度。我期待它我将它们设置为简单滚动,但我猜我错了。 在实施文件中
_howtoScrollView.frame = CGRectMake(0, 0, 320, 460);
_howtoScrollView.scrollEnabled = YES;
[self.howtoScrollView setContentSize:CGSizeMake(self.howtoScrollView.frame.size.width, 700)];
[self.view addSubview:_howtoScrollView];
在接口文件.h中
@property (weak, nonatomic) IBOutlet UIScrollView *howtoScrollView;
在拥有 StoryBoard Autolayout 的同时使用 ScrollView 获得成功的任何人。
【问题讨论】:
【参考方案1】:尝试删除_howtoScrollView.frame = CGRectMake(0, 0, 320, 460);
,看看是否有效。
如果你真的需要改变视图的框架,在自动布局中,你不应该直接在你的代码中设置框架,你应该修改Constraint
。
【讨论】:
不,它可以通过评论 _howtoScrollView.frame = CGRectMake(0, 0, 320, 460);线...【参考方案2】:尝试不使用“addSubview”功能。我认为使用 AutoLayout 会覆盖您的其他设置...
【讨论】:
【参考方案3】:使用界面生成器,
展开滚动视图的约束部分。然后选择“水平空间约束”。在该部分下,您可能对“常量”值有一个负值。将其更改为0
。它会成功的。
【讨论】:
【参考方案4】:我也有这个问题。苹果在发行说明中隐藏了解释。 http://developer.apple.com/library/ios/#releasenotes/General/RN-iOSSDK-6_0。查看 UIKit 部分。
【讨论】:
以上是关于打开自动布局时的 UIScrollView(故事板)的主要内容,如果未能解决你的问题,请参考以下文章
iOS - 故事板 - 使用自动布局修改超出框架的 UIView
UIScrollView SetContentSize 与自动布局