首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用按钮设置ContentOffset

使用按钮设置ContentOffset
EN

Stack Overflow用户
提问于 2017-03-01 20:02:28
回答 1查看 162关注 0票数 0

我用两个按钮制作了一个.xib文件,并将其附加到inputAccessoryView上。我使用scrollView使本节可滚动,但我必须使用按钮(箭头)添加其他功能。点击前箭头,它应该走到末端,后箭头将采取的原始位置。

我在UI中创建了完整的ScrollView,没有任何代码。它工作得很好,这些按钮就在这个视图之上,我正在考虑使用这些按钮的IBAction并更改ContentOffSet。我正在努力执行。我会感谢你给我一些建议的。

用于实现的类:

代码语言:javascript
复制
#import "KCSearchInputAccessoryView.h"

 @implementation KCSearchInputAccessoryView

 + (KCSearchInputAccessoryView *)viewFromNib {
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
return [[bundle loadNibNamed:NSStringFromClass([self class]) owner:nil options:nil] lastObject];
}

- (IBAction)backBtnTapped:(id)sender {

 }

 - (IBAction)forwardBtnTapped:(id)sender {

 }

 @end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-01 20:17:04

你可以通过改变ContentOffset来做但是..。

假设您有对按钮的引用,更好的方法可能是使用func scrollRectToVisible(_ rect: CGRect, animated: Bool)

代码语言:javascript
复制
IBAction func rightButton(sender: AnyObject) {
    self.theScrollView.scrollRectToVisible(postsButton.frame, animated: true)
}

IBAction func leftButton(sender: AnyObject) {
    self.theScrollView.scrollRectToVisible(chatsButton.frame, animated: true)
}

这也会“滑动”按钮的横穿。

编辑:习惯了使用Swift的人..。

目标-C版本..。另外,不要使用单独的Button框架,只需在滚动视图内容的开头或结尾创建rect:

代码语言:javascript
复制
- (IBAction)backBtnTapped:(id)sender {
    CGRect r = CGRectMake(0.0, 0.0, 1.0, 1.0);
    [_theScrollView scrollRectToVisible:r animated:YES];
}
- (IBAction)forwardBtnTapped:(id)sender {
    CGRect r = CGRectMake(_theScrollView.contentSize.width - 1, 0.0, 1.0, 1.0);
    [_theScrollView scrollRectToVisible:r animated:YES];
}

这里的示例项目:https://github.com/DonMag/ScratchPad

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42540962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档