问题标签 [uiscrollview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
19139 浏览

ios - 如何为 UIScrollView 启用方向锁定?

我有UIScrollView一个UIView里面。我想锁定 x 轴,以便视图仅垂直滚动。如何启用定向锁定?

0 投票
8 回答
71826 浏览

objective-c - Getting the visible rect of an UIScrollView's content

How can I go about finding out the rect (CGRect) of the content of a displayed view that is actually visible on screen.

The code above works when there's no zooming, but as soon as you allow zooming, it breaks at zoom scales other than 1.

To clarify, I want a CGRect that contains the visible area of the scroll view's content, relative to the content. (ie. if it's a zoom scale 2, the rect's size will be half of the scroll view's size, if it's at zoom scale 0.5, it'll be double.)

0 投票
2 回答
6946 浏览

objective-c - 像 Mobile Safari 一样在其选项卡中淡入/淡出 UIScrollView 的内容

注意:我在下面的更新答案中添加了我的新解决方案。

我尝试重现我们在 iPhone/iPod touch 上的 Mobile Safari 选项卡中看到的效果。

基本上,它是一个 UIScrollView,它拥有 4 个可重用的 UIView(充当环形缓冲区),并水平滚动。滚动时,UIView 的不透明度将通过偏移无缝淡入/淡出。

目前,我在- (void)scrollViewDidScroll:(UIScrollView *)scrollView. 比如从 UIScrollView 中获取 contentOffset,确定分页,计算 contentOffset 和每个 UIView 位置之间的 delta,决定/设置每个 UIView 在scrollViewDidScroll:被调用时的 alpha 值。

它可以工作,性能还可以,一切运行顺利,但唯一的问题是计算量太大。

我试过UIView的beginAnimations:and commitAnimations:,但是在里面没用scrollViewDidScroll:,因为1)新的alpha值还是要自己计算,2)scrollViewDidScroll:滚动的时候一直调用,这里做动画没意义。有没有办法用 Core Animation 重写这部分?所以我不必自己计算每个 UIView 的 alpha 值,相反,我可以将整个作品留给 Core Animation。

0 投票
4 回答
19931 浏览

iphone - UIScrollView 触摸与子视图触摸

请问有人可以帮忙整理一个菜鸟吗?我已经在各种论坛上发布了这个问题并且没有收到任何答案,而许多其他答案的搜索都出现了 stackOverflow,所以我希望这是这个地方。

我有一个 BeachView.h(UIScrollView 的子类,沙滩的图片),上面覆盖着随机数的 Stone.h(UIImageView 的子类,石头的随机 PNG,userInteractionEnabled = YES 接受触摸)。

如果用户在海滩上触摸并移动,它应该滚动。如果用户点击石头,它应该调用方法“touchedStone”。如果用户点击没有石头的海滩,它应该调用方法“touchedBeach”。

现在,我意识到这听起来很简单。每个人都告诉我,如果 UIScrollView 上有什么东西可以接受触摸,它应该将控制权传递给它。所以当我触摸和拖动时,它应该滚动;但是如果我点击,并且它在石头上,它应该忽略海滩水龙头并接受石头水龙头,是吗?

但是,似乎两个视图都接受了点击并调用了touchedStone 和touchedBeach。此外,海滩水龙头首先发生,所以我什至不能输入“如果接触石头,那么不要运行接触海滩”类型的标志。

这是一些代码。在 BeachView.m 上

在石头.m

石敲之后,我的 NSLog 看起来像这样:

所以实际上两者都在运行。更奇怪的是,如果我将 touchesBegan 和 touchesEnded 从 Stone.m 中取出,但保留 userInteractionEnabled = YES,则 beachView 会自行注册这两个触摸,但将 Stone 作为它触摸的视图返回(第二次)。

所以拜托,我这几天一直在努力解决这个问题。我怎样才能使敲击的石头只调用touchedStone,而敲击的海滩只调用touchedBeach?我哪里错了?

0 投票
3 回答
1834 浏览

ios - UIScrollView 用于缩放图像

我正在使用 UIScrollView 来缩放图像。在缩小图像时,我希望它被双击。

所以我的问题是可以通过双击缩小缩放图像。(我能够检测到缩放视图上的双击)。

我们可以使用 Scroll View 的哪个属性。

0 投票
2 回答
1793 浏览

iphone - UIScrollView contentOffset 在动画后跳转 - 在 3.0 beta 5

我有一个 UIScrollView,上面有几个 UITextFields。当用户编辑文本字段时,它会滚动以使 UITextField 居中。我遇到的问题是 UIScrollView 滚动到正确的位置,但在动画的最后一帧它跳转到 300,300。它在 2.2.1 中运行良好,但在 3.0 beta 5 中却不行。它也总是跳到正好 300,300。奇怪的是,当我调用 returnScrollAfterEdit 方法移动滚动视图时,它工作得很好。有什么想法可能导致这种情况吗?

0 投票
2 回答
4296 浏览

iphone - 将子视图添加到视图层次结构中

我希望在用户单击按钮时出现一个视图。我的层次结构如下所示:

主窗口

pages 是 pageController 对象的 NSMutableArry。这些钩在笔尖上。这些笔尖是用户在滚动视图中浏览的页面。

InfoButton 点击​​的连接方式如下:

InfoButton 位于 ScrollView 中的页面之一上。我已经注释掉了已经尝试过的不同代码。它都没有添加视图。没发生什么事。有没有办法让 TopView 作为层次结构中的顶视图?

0 投票
1 回答
476 浏览

iphone - 有没有办法在 UIScrollView 中实现最小减速速度?

我有一个 UIScrollView,其中包含一些动画的 UIImageViews。如果发生最小滚动速度,它真的看起来很酷。但是当用户慢慢滚动并抬起手指时,UIScrollView 减速非常慢。

问题是,在每次偏移更改时都不会调用 scrollViewDidScroll 方法。只要偏移量在变化,它就会被一种时间间隔调用。无论用户滚动多快,间隔始终相同。

0 投票
2 回答
1823 浏览

iphone - 将子视图添加到 UiScrollView .. 顺利

我正在尝试实时动态地将子视图添加到 UiScorllView (以节省内存)。

这样做会导致滚动视图暂停一秒钟......解决这个问题的方法是什么?

任何提示表示赞赏

0 投票
4 回答
11644 浏览

iphone - 如何在 UIScrollView 中嵌套 UIScrollView,以便用户可以滚动内部 UIScrollView?

我还没有尝试过,但我假设一旦我知道用户想要在子滚动视图中滚动,我就必须禁用父滚动视图的滚动,对吧?

两个滚动视图都是水平滚动的。

如何暂时禁用父级的滚动检测?还是有其他方法?