如何在 Iphone 中单击 UIButton 时设置 UiScrollView Frame?

Posted

技术标签:

【中文标题】如何在 Iphone 中单击 UIButton 时设置 UiScrollView Frame?【英文标题】:How to set UiScrollView Frame on click of UIButton in Iphone? 【发布时间】:2013-01-21 12:50:05 【问题描述】:

我有 UIScrollView,我正在使用 2 个 UIButtons。 UIScrollView 初始帧为 (0,0,768,1024)。我希望当我单击第一个按钮时 UIScrollView y 坐标位置将为 500,这意味着它将向下滚动 500 个位置到其实际位置。

当我点击将显示在 UIScrollView 上的第二个按钮时,UIScrollView 的 Y 坐标位置 y=535,然后 UIScrollView 再次向上移动到位置 y=0。

第一个按钮点击 UIScrollView y = 500 第二个按钮点击 UIScrollView y = 0

非常欢迎专家的任何提示。

【问题讨论】:

【参考方案1】:

也许您不想更改滚动视图的 frame(这只会取代整个视图),而是更改 contentOffset。这也可以动画化。

CGPoint offset = scrollView.contentOffset;
offset.y += 500;
[scrollView setContentOffset:offset animated:YES];

【讨论】:

【参考方案2】:

这可能会解决你的 pbm

-(IBAction) clickfirstbutton 

   [scrollview setContentOffset:CGPointMake(0, 500)) animated:TRUE];


-(IBAction) clicksecondbutton

   [scrollview setContentOffset:CGPointMake(0, 0) animated:TRUE];

如果你不想动画使用

[scrollview setContentOffset:CGPointMake(0, 0) animated:FALSE];

【讨论】:

以上是关于如何在 Iphone 中单击 UIButton 时设置 UiScrollView Frame?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone:我怎么能交换UIButton文字颜色?

如何使 UIButton 看起来像电子邮件链接按钮?

Swift:如何在单击提交按钮时更改 UIButton 图像

用户单击时如何禁用 UIButton 的突出显示

在 iphone 中按住 uibutton 时增加一个值

如何在 iphone 5s 和 iphone X 的情节提要中为 uibutton 设置不同的大小?