Iphone 是否可以从UIWebView对象滚动到UIView对象?

Iphone 是否可以从UIWebView对象滚动到UIView对象?,iphone,uiwebview,uiscrollview,uipagecontrol,Iphone,Uiwebview,Uiscrollview,Uipagecontrol,在我的应用程序的一个用户界面中,我希望我的应用程序显示一个滚动视图。滚动页面的计数在运行时动态设置。但是我希望将UIWebView和UIView元素添加到同一个数组中,这样当我滚动时,我将能够同时显示UIWebView,比如说网页和其他视图 编辑 我收到了这个答案,看起来似乎很好,但并不意味着我无法回答 代码如下: NSArray*myArray; //在这里用一堆UIWebView和UIView对象填充数组 for (id theObject in myArray) { if ([th

在我的应用程序的一个用户界面中,我希望我的应用程序显示一个滚动视图。滚动页面的计数在运行时动态设置。但是我希望将UIWebView和UIView元素添加到同一个数组中,这样当我滚动时,我将能够同时显示UIWebView,比如说网页和其他视图

编辑

我收到了这个答案,看起来似乎很好,但并不意味着我无法回答 代码如下: NSArray*myArray; //在这里用一堆UIWebView和UIView对象填充数组

for (id theObject in myArray)
{
    if ([theObject isKindOfClass:[UIWebView class]]) {
        // do stuff
    }
    else if ([theObject isKindOfClass:[UIView class]]) {
        // do other stuff
    }
}
谁能帮我一个忙吗?我需要创建一个可滚动的视图数组,就像iPhone的主页一样,但第一个页面的意思是,视图必须是UIWebViews的成员,其他的都是UIView

下面是我所有的代码,我不想在这里做任何事情:


对。UIWebView是UIView的派生。您可以在将UIView作为子视图(包括在UIScrollView父视图中)插入的任何位置使用它们,也可以将它们作为要插入阵列的对象使用。

是。UIWebView是UIView的派生。您可以在将UIView作为子视图(包括在UIScrollView父视图中)插入的任何位置使用它们,也可以将它们作为要插入阵列的对象使用。

没有什么可以阻止您将UIWebView和UIView类型的对象添加到同一NSArray中

如果您的代码需要知道您正在处理的是UIWebView还是UIView,则可以使用方法isKindOfClass:来检查:

NSArray *myArray;
// Fill the array with a bunch of UIWebView and UIView objects here

for (id theObject in myArray)
{
    if ([theObject isKindOfClass:[UIWebView class]]) {
        // do stuff
    }
    else if ([theObject isKindOfClass:[UIView class]]) {
        // do other stuff
    }
}
此外,UIWebView是UIView的一个子类,继承了许多相同的方法,使得两种情况下的视图布局相同

从用户界面的角度来看,在滚动视图中包含滚动视图可能是一种不好的做法,因此您需要禁用UIWebView对象的滚动。如果您的目标是iOS 5及以上版本,您可以使用以下功能:

webView.scrollView.scrollEnabled = NO; 
webView.scrollView.bounces = NO;
如果您使用的iOS版本低于5.0,则可以注入以下javascript:

<script type="text/javascript">
    touchMove = function(event) {
        event.preventDefault();
     }
</script>

没有什么可以阻止您将UIWebView和UIView类型的对象添加到同一个NSArray中

如果您的代码需要知道您正在处理的是UIWebView还是UIView,则可以使用方法isKindOfClass:来检查:

NSArray *myArray;
// Fill the array with a bunch of UIWebView and UIView objects here

for (id theObject in myArray)
{
    if ([theObject isKindOfClass:[UIWebView class]]) {
        // do stuff
    }
    else if ([theObject isKindOfClass:[UIView class]]) {
        // do other stuff
    }
}
此外,UIWebView是UIView的一个子类,继承了许多相同的方法,使得两种情况下的视图布局相同

从用户界面的角度来看,在滚动视图中包含滚动视图可能是一种不好的做法,因此您需要禁用UIWebView对象的滚动。如果您的目标是iOS 5及以上版本,您可以使用以下功能:

webView.scrollView.scrollEnabled = NO; 
webView.scrollView.bounces = NO;
如果您使用的iOS版本低于5.0,则可以注入以下javascript:

<script type="text/javascript">
    touchMove = function(event) {
        event.preventDefault();
     }
</script>

您的滚动视图没有滚动,因为您没有设置contentsize属性。首先,您必须找到适当的内容大小,然后必须将内容大小设置为

[scrollView setContentSize:CGSize];
在代码的末尾。ie;之后

[self.scrollView addSubview:subview];
对于盲目的尝试,使用

[scrollView setContentSize:CGSizeMake(1000,1000)];

这肯定会滚动视图

您的滚动视图没有滚动,因为您没有设置contentsize属性。首先,您必须找到适当的内容大小,然后必须将内容大小设置为

[scrollView setContentSize:CGSize];
在代码的末尾。ie;之后

[self.scrollView addSubview:subview];
对于盲目的尝试,使用

[scrollView setContentSize:CGSizeMake(1000,1000)];
这肯定会滚动视图