gpt4 book ai didi

ios - 使用按钮设置 ContentOffset

转载 作者:行者123 更新时间:2023-11-29 00:28:01 25 4
gpt4 key购买 nike

我制作了一个带有几个按钮的 .xib 文件,并将其附加到 inputAccessoryView。我使用scrollView使该部分可滚动,但是我必须使用按钮(箭头)添加附加功能。单击向前箭头,它应该转到末尾,而向后箭头将转到原始位置。

first position - start second position - end

我在 UI 中制作了整个 ScrollView,没有任何代码。它工作得很好,这些按钮位于该 View 的顶部。我正在考虑使用这些按钮的 IBAction 并更改 ContentOffSet。我正在努力实现。我将不胜感激您的一些提示。

实现类:

#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

最佳答案

您可以通过更改 ContentOffset 来做到这一点,但是...

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

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...

Objective-C 版本...并且,不使用单独的 Button 框架,只需在 ScrollView 内容的开头或结尾创建一个矩形:

- (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

关于ios - 使用按钮设置 ContentOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com