首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在iOS应用中,如何同时滚动两个UIView

在iOS应用中,如何同时滚动两个UIView
EN

Stack Overflow用户
提问于 2015-04-14 01:40:43
回答 2查看 243关注 0票数 0

我正在开发iOS应用程序。

我在UIWebView上添加了UITextView(100px高度),并想让它们同时滚动。

我写下了以下代码。然而,当我滚动我的屏幕时,只有UIWebView是滚动的,而UITextView不是。(UITextView是固定的!)

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

你能告诉我怎么解吗?

代码语言:javascript
运行
复制
@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)];

}

EN

回答 2

Stack Overflow用户

发布于 2015-04-14 01:46:08

文本视图是滚动视图子类,web视图具有scrollView属性。收听两个滚动视图的内容偏移更改(使用scrollViewDidScroll:),并相应地更新另一个滚动视图的内容偏移。这将为您提供同时滚动这两个页面的效果。

代码语言:javascript
运行
复制
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;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2015-04-14 01:53:54

如果我正确理解了你的问题,你应该将它们都嵌入到滚动视图中,并在UIWebview和UITextView中禁用滚动。然后,它们将作为一个整体滚动。尽管您可能需要动态设置Textview和webview的大小,但如果它们具有不同的内容,则必须支持它们。

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

https://stackoverflow.com/questions/29611612

复制
相关文章

相似问题

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