我正在使用Monotouch开发iPhone应用程序。 我知道Objective-C已经有了这个问题的答案。例如:
Stop UIWebView from bouncing vertically
这个答案很理想。我想我可以拿它,然后把它变成C#就可以了。
Objective-C代码是:
for (id subview in webView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).bounces = NO;
我在C#中找不到与isSubclassOfClass:
类似的内容,经过一些小实验,我发现我的webView只包含一个子视图,它是一个scrollview。所以我尝试了以下C#代码:
foreach (var view in webView.Subviews)
{
webView.Subviews[0].Bounces = false;
}
这应该有效,除了返回的webView.Subviews[0]
类型是UIView
而不是UIScrollView
- 这意味着编译器抱怨UIView
没有属性“反弹“(这是正确的。)
所以我的问题是,这样做的恰当方法是什么?有没有办法从子视图中获取UIScrollView实例?或者我是否完全以错误的方式解决这个问题?
感谢。
答案 0 :(得分:4)
路,
如果你想跟随Obj-C这样的例子那么你会想要做这样的事情;
foreach (var view in webView.Subviews.OfType<UIScrollView>())
{
view.Bounces = false;
}
因为上面的例子假设webView中的第一个视图是UIScrollView,将来可能会改变。
希望这有帮助,
ChrisNTR
答案 1 :(得分:2)
这是在黑暗中刺伤但是:
((UIScrollView)webView.Subviews[0]).Bounces = false;