我有一个自定义ScrollView(扩展android.widget.ScrollView),我在我的布局中使用.我想测量此scrollview内容的总高度.getHeight()和getMeasuredHeight()不会给我正确的值(数字太高).
背景信息:我想确定用户滚动了多远.我使用onScrollChanged来获取X值,但我需要知道一个百分比,所以我需要总滚动条高度.
非常感谢!埃里克
我知道这个问题一再被问到,但似乎没有什么对我有用.大多数解决方案都已过时,其余的是非常庞大的代码块,比实际的项目编码大十倍.我有几个UITextField垂直排列,但当键盘启动编辑一个时,它会覆盖文本字段.我想知道是否有一种简单的初学者方式来滚动视图,然后在编辑开始和结束时退回?
谢谢.
iOS上有一个可滚动div的问题.当尝试通过触摸输入外滚动时,它滚动没有任何问题但是当我尝试滚动并触摸输入以开始滚动时(有很多机会它发生,因为它是一个带有大量输入的div )它滚动整个窗口而不是滚动div.我在桌面或Android中没有这个问题.我发现了一个类似的问题(iOS HTML输入标记停止在可滚动元素中滚动),但它也没有任何答案.虽然我找不到任何好的解决方案,但我决定touchmove在用户触摸输入时阻止该事件,但这并不是我想要的.
也许有人已经面临这个问题,可以提供帮助.我非常感谢,提前谢谢.
我正在尝试创建与用于查看屏幕截图的AppStore应用程序完全相同的效果:在UITableView中,我有UITableViewCell的自定义子类.其中一个旨在显示某些产品的预览,比如4个图像.我希望它们以与AppStore呈现应用程序截图相同的方式显示:在水平UIScrollView内部及其附加的UIPageControl.
所以我将我的UIScrollView和我的UIPageControl添加到我的UITableViewCell中,就像这样:
@implementation phVolumePreviewCell
- (id)init {
if (self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kVolumePreviewCellIdentifier]) {
[self setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
[self setSelectionStyle:UITableViewCellSeparatorStyleNone];
previews = [[NSMutableArray alloc] initWithCapacity:4];
for (int i = 0; i < 4; i++) {
[previews addObject:@"dummy"];
}
scrollView = [[UIScrollView alloc] initWithFrame:CGRectZero];
[scrollView setPagingEnabled:YES];
[scrollView setBackgroundColor:[UIColor grayColor]];
[scrollView setIndicatorStyle:UIScrollViewIndicatorStyleBlack];
[scrollView setShowsHorizontalScrollIndicator:YES];
[scrollView setBounces:YES];
[scrollView setScrollEnabled:YES];
[scrollView setDelegate:self];
[self.contentView addSubview:scrollView];
[scrollView release];
pageControl = [[UIPageControl alloc] initWithFrame:CGRectZero];
[pageControl setNumberOfPages:[previews count]];
[pageControl setBackgroundColor:[UIColor grayColor]];
[self.contentView addSubview:pageControl];
[pageControl release];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
(注意:我在这里使用虚拟数据填充"预览",只是为了使[预览计数]有效;我想查看scrollView的滚动指示器仅用于测试目的,我稍后会隐藏它们). …
我正在设计一个非常简单的网页(仅限HTML),我想要实现的唯一"功能"是当用户向下滚动页面时执行某些操作,是否有办法以某种方式捕获该"事件"?
如何使用jQuery检测水平滚动?
这将获得所有卷轴:
$(window).scroll(function () {
alert('in');
});
Run Code Online (Sandbox Code Playgroud)
我只想要横向的.
我的故事板iOS应用程序中有一个UICollectionView.当设备处于纵向方向时,我希望它能够垂直滚动,当它在Landscaper中时,我希望它能够水平滚动.
在UICollectionView中,我可以看到scrollEnabled成员,但我看不到设置滚动方向的方法.我错过了什么吗?
如果元素设置为width: 100vw;并且存在垂直滚动条,则元素的宽度将等于视口加上滚动条的宽度.
有可能阻止这种情况吗?
是否可以在不禁用整个页面的水平滚动的情况下防止这种情况?除了改变我的css/markup以使元素100%的宽度,我无法想到任何东西.
在Windows 8.1上经过Chrome版本43.0.2357.81 m&FF 36.0.1和Opera 20.0.1387.91测试
这是所要求的代码:
HTML
<div class="parent">
<div class="box"></div>
</div>
<div class="tall"></div>
Run Code Online (Sandbox Code Playgroud)
CSS
body { margin: 0; }
html { box-sizing: border-box; }
*, *::before, *::after {
box-sizing: inherit;
position: relative;
}
.parent {
background: rgba(0, 0, 0, .4);
height: 100px;
width: 5rem;
margin-bottom: 25px;
}
.box {
position: absolute;
top: 0;
left: 0;
background: rgba(0, 0, 0, .4);
height: 50px;
width: 100vw;
}
.tall {
height: 100rem;
}
Run Code Online (Sandbox Code Playgroud) 我在div中有很多元素(浮动href标签),设置高度/宽度,overflow: auto在CSS中设置滚动.
这是div的结构:
<div id="tagFun_div_main">
<div id="tf_div_tagsReturn">
<!-- all the draggable elements go in here, the parent div scolls -->
</div>
<div id=" tf_div_tagsDrop">
<div id="tf_dropBox"></div>
</div></div>
Run Code Online (Sandbox Code Playgroud)
父div,'tf_div_tagsReturn'和'tf_div_tagsDrop'最终会相互浮动.
这是在使用类名'tag_cell'创建所有'draggable'元素之后运行的jQuery,:
$(function() {
$(".tag_cell").draggable({
revert: 'invalid',
scroll: false,
containment: '#tagFun_div_main'
});
$("#tf_dropBox").droppable({
accept: '.tag_cell',
hoverClass: 'tf_dropBox_hover',
activeClass: 'tf_dropBox_active',
drop: function(event, ui) {
GLOBAL_ary_tf_tags.push(ui.draggable.html());
tagFun_reload();
}
});
});
Run Code Online (Sandbox Code Playgroud)
如上所述,可拖动元素在div'tf_div_tagsReturn'中可拖动,但它们不会在视觉上拖动到父div之外.值得注意的是,如果我拖动其中一个可拖动的元素,并将鼠标移动到droppable div上,并且id为'tf_dropBox',那么hoverclass会被触发,我再也看不到可拖动的元素了.
这是我第一次使用jQuery,所以希望我只是缺少一些非常明显的东西.我一直在阅读文档和搜索论坛到目前为止没有占上风:(
更新:
非常感谢Jabes88提供的解决方案,使我能够实现我想要的功能.这是我的jQuery最终看起来像:
$(function() {
$(".tag_cell").draggable({
revert: 'invalid',
scroll: false,
containment: '#tagFun_div_main',
helper: 'clone',
start : function() {
this.style.display="none";
},
stop: …Run Code Online (Sandbox Code Playgroud) 当有人点击iframe(子页面)中的链接时,如何让父页面滚动到顶部?问题是子页面将保留在页面的同一位置,因为iframe的高度比父页面大很多.
请注意:父页面和子页面位于不同的子域中.
我创建了一个演示来展示这个:http: //www.apus.edu/_test/iframe/index.htm
scroll ×10
html ×2
ios ×2
iphone ×2
jquery ×2
android ×1
css ×1
css3 ×1
events ×1
iframe ×1
input ×1
javascript ×1
keyboard ×1
objective-c ×1
orientation ×1
parent ×1
scrollview ×1
uiscrollview ×1
uitableview ×1
uitextfield ×1
xcode ×1