- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ViewController 设置如下:
这是一个新闻应用程序,所以所有内容都是动态加载的,一旦我完成将数据加载到文章标题、文章内容和 ImageView (外部 ScrollView )中,就不会真正滚动
我还检查了 ContentView 以获取其大小(只是调试)它给出了高度:0px(这是我最初为其设置的高度)
我的背景是用于移动开发的 Android/Java,所以我将高度设置为 0,我不确定 android 中是否有类似“Wrap_Content”的内容(-1:以 android 为例,内部属性值)。
并且在所有方面我都想找到一种方法使 ContentView 动态调整大小以包括其 subview 的所有高度和间距。然后 Scroll View 会显示一个漂亮的 Scroll。
我尝试过的:
1-将 ContentView 的高度设置为例如 (1000) -> 它使 ScrollView 正常滚动(但这样神奇的数字是不好的)。
2-尝试了以下代码(一旦我完成将数据加载到 subview 中)
// Given that the references of the UI elements in my ViewController are:
// scrollView and contentView
- (void)updateScroll{
self.scrollView.translatesAutoresizingMaskIntoConstraints = NO;
self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
// Iterate over SubViews of ContentView
for (UIView* subView in self.contentView.subviews) {
subView.translatesAutoresizingMaskIntoConstraints = NO;
}
[self.scrollView setContentSize:self.contentView.frame.size];
}
我用这个调试:
NSLog(@"Content view's frame is: %@", NSStringFromCGRect(self.contentView.frame));
总是得到这样的输出:
2015-05-24 00:30:36.123 NewsApp[18983:2738892] Content view's frame is: {{0, 0}, {343, 0}}
现在,当我什至尝试使用这段代码一个一个地浏览 subview 时:
for (UIView* v in self.contentView.subviews) {
v.translatesAutoresizingMaskIntoConstraints = NO;
totalHeight += v.frame.size.height;
NSLog(@"My view %@ frame is: %@",v.class ,NSStringFromCGRect(v.frame));
}
尺寸如下:(如您所见,ImageView 显示高度:0px)--> 一切都毁了 :(
2015-05-24 01:59:38.696 NewsApp[20218:3145567] My view UILabel frame is: {{10, 20}, {323, 52.5}}
2015-05-24 01:59:38.696 NewsApp[20218:3145567] My view UIImageView frame is: {{10, 82.5}, {323, 0}}
2015-05-24 01:59:38.696 NewsApp[20218:3145567] My view UILabel frame is: {{10, 92.5}, {323, 507.5}}
约束:
1-ScrollView:从各个方向(水平和垂直)0 像素
2-ContentView:距水平位置 0 px 且“宽度”与 ScrollView 相同(还尝试从顶部添加约束 0px,还尝试从顶部和底部添加 0px)。
3 篇文章标题、图片 View 、文章内容:水平 0 像素,垂直等间距,并相互放置)。
我的环境:构建目标 iOS 8,XCode:v. 6.3,项目当然启用了 AutoLayout
解决方案:在ContentView和ScrollView之间添加top和bottom约束(Vertical为0)或任意固定数,在ContentView内部的最后一个元素和ContentView本身之间添加Bottom Contraint
最佳答案
您需要将 ScrollView 和内容 View 固定到主视图的宽度和高度。然后在内容 View 中,将每个元素的顶部和底部固定到 View 并相互固定,以根据元素的高度定义内容高度(之间有一个小空间。)
检查 所有 subview 是否在两个方向上垂直固定,并且有一系列连续的固定点定义了 ContentView 的形状。您缺少从 ArticleContentView 到 ContentView 底部的底部约束。
关于ios - 带有一个 child 的 ScrollView 和 AutoLayout 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30418328/
如果附加了 'not-scroll' 类,我希望我的 body 不滚动,否则它应该正常工作。 我已经搜索这个问题两天了,但找不到任何适合我的解决方案。 我想要的是向 body 添加一个 class,并
我发现似乎是 iOS Safari 中的错误(我正在 iOS 8 上进行测试)。当绝对定位的 iFrame 漂浮在一段可滚动内容上方时,滚动 iFrame 也会滚动下面的内容。以下 HTML (ava
我有以下代码来显示一系列投资组合图片,这些图片以 SVG 格式存储在滚动 div 中: 在 Safari 中滚动使用两根手指或鼠标滚轮当光标位于 SVG 之一上时不起作用。 该页
我想用 javascript 做的是: 一旦你向下滚动页面,将#sidebar-box-fixed 的位置从 position: relative; 更改为定位:固定;。改回position:rela
我对 Elasticsearch 的滚动功能有点困惑。在 elasticsearch 中,每当用户在结果集上滚动时,是否可以每次调用搜索 API?来自文档 "search_type" => "scan
我试图做到这一点,以便当我向上或向下滚动页面时,它会运行不同的相应功能。我发现了一个类似的问题here但我已经尝试了他们的答案并且没有运气。 注意:此页面没有正常显示的滚动条。没有地方可以滚动。 bo
(C语言,GTK库) 在我的表单上,我有一个 GtkDrawingArea 小部件,我在上面使用 Cairo 绘制 GdkPixbufs(从文件加载)。我想要完成的是能够在窗口大小保持固定的情况下使用
最近我一直在尝试创建一个拉到(刷新,加载更多)swiftUI ScrollView !!,灵感来自 https://cocoapods.org/pods/SwiftPullToRefresh 我正在努
我正在开发一个应用程序,其中有两个带有可放置区域的列表和一个带有可拖动项目的侧面菜单。 当我滚动屏幕时,项目的位置困惑。 我试图在谷歌上寻找一些东西,最后得到了这个问题:jQuery draggabl
我在 UIWebView 中加载了一个 HTML 表单,而我的 UIWebView 恰好从 View 的中间开始并扩展。我必须锁定此 webView 不滚动并将其放在 ScrollView 之上以允许
如何在每个元素而不是整个元素上应用淡入淡出(与其高度相比)? HTML: CSS: * { padding: 0; margin: 0; box-sizing: border
我想使用带有垂直轴的 PageView 并使用鼠标滚动在页面之间移动,但是当我使用鼠标滚动时页面不滚动...仅页面单击并向上/向下滑动时滚动。 有什么办法吗? 我想保留属性 pageSnapping:
我制作这个程序是为了好玩,但我被卡住了,因为程序在屏幕外运行。如何在不完全更改代码的情况下实现滚动条。 public static void main(String args[]) throws IO
我想使用带有垂直轴的 PageView 并使用鼠标滚动在页面之间移动,但是当我使用鼠标滚动时页面不滚动...仅页面单击并向上/向下滑动时滚动。 有什么办法吗? 我想保留属性 pageSnapping:
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
使用 jquery 技术从 css-tricks.com 获得滚动/跟随侧边栏,如果您不知道我在说什么,这里是代码: $(function() { var $sidebar = $
我是 jQuery Mobile 新手。我需要向我的应用程序添加 Facebook 滑动面板功能。 我经历了 sliding menu panel ,它工作正常,但我在菜单面板中的内容超出了窗口大小,
有没有办法在 js 或 jQuery 或任何其他工具中检测 ctrl + 滚动。我正在尝试执行一些动态布局代码,我需要检测不同分辨率下的屏幕宽度,我通过使用 setTimeout() 的计时器实现了这
我有一部分html代码:
我想控制 RichTextBox 滚动,但在控件中找不到任何方法来执行此操作。 这样做的原因是我希望当鼠标光标位于 RichTextBox 控件上时鼠标滚轮滚动有效(它没有事件焦点:鼠标滚轮事件由表单
我是一名优秀的程序员,十分优秀!