ios - 在 iOS App 中,如何同时滚动两个 UIView

标签 ios objective-c uiview scroll uiwebview

我正在开发 iOS 应用程序。

我在 UIWebView 之上添加了 UITextView(100px height) 并且想让它们同时滚动。

我正在写下以下代码。但是,当我滚动屏幕时,只有 UIWebView 滚动而 UITextView 没有滚动。(UITextView 已修复!)

我希望当我向上滚动屏幕时,UIWebView 和 UITextView 都向上滚动,反之亦然。

能告诉我怎么解决吗?

@interface DetailViewController ()<UIWebViewDelegate>{
     UITextView *recommendText;
}

@property (weak, nonatomic) IBOutlet UIWebView *detailPage;

- (void)viewWillAppear:(BOOL)animated{
    [self headerMake];
}

-(void)headerMake{

    recommendText = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 320,100)];
    recommendText.layer.borderWidth = 2;
    recommendText.text = @"hogehoge";
    [self.detailPage addSubview:recommendText];

    [[self.detailPage scrollView] setContentInset:UIEdgeInsetsMake(100, 0, 0, 0)];

最佳答案

TextView 是 ScrollView 的子类,Web View 具有 scrollView 属性。 监听两个 ScrollView 内容偏移量的变化(使用scrollViewDidScroll:)并相应地更新另一个 ScrollView 的内容偏移量。这将为您提供同时滚动两者的效果。

self.textview.delegate = self;
self.webview.scrollView.delegate = self;

...

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if(scrollView == self.textview)
    {
        self.webview.scrollView.contentOffset = self.textview.contentOffset;
    }
    else
    {
        self.textview.contentOffset = self.webview.scrollView.contentOffset;
    }
}

关于ios - 在 iOS App 中,如何同时滚动两个 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29611612/

相关文章:

ios - 如何从 Swift 语言访问 Objective-C 类方法

xcode - 我可以在没有开发人员凭据的情况下签署 IOS 应用程序吗?

ios - 保存核心数据条目,它们不能直接用于获取,为什么?

ios - 添加图像 iOS xCode

objective-c - 在 Finder 窗口 OSX 中打开文件

objective-c - 无法在 cocoa 核心数据应用程序中进行撤消和重做

ios - 使用后台线程更新界面的更快方法

iphone - 当从 iOS4 的后台重新唤醒时,如何更新 View 的数据?

ios - 如何将 subview 放置在具有动态高度的 subview 下方?

ios - iOS中多个UIView的UIView继承