-2

我有一个UIView包含UIWebView和一个UILabel.UIView被添加到里面UIScrollView.因为UIWebView有动态高度,所以相应地UIScrollView改变它的高度。整个事情都很好,一切都在故事板中完成。

现在我需要在它UIButton的末尾UIWebView或之后添加一个。我不能只是在 StoryBoard 中拖放一个按钮,因为它保持在固定位置。

我想要的是当滚动结束时,底部UIButton应该出现一个。我怎样才能做到这一点?

UIVIEW UIButton

4

5 回答 5

1

按钮y位置将为 Label_Height+Webview_Height+(Margin_between_webview_and_button) 因此,相应地滚动视图内容高度将为 Label_Height+WebView_Height+Button_Height

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self
           action:@selector(aMethod:)
 forControlEvents:UIControlEventTouchDown];
[button setTitle:@"This is a button" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, height, 160.0, 40.0);
[self.webView addSubview:button];

在上述代码的倒数第二行中,“height”是您已经检索到的 webview 的高度。只需添加 webview 的高度并将按钮添加为 webview 的子视图即可。

于 2013-10-30T10:24:31.513 回答
1

如果您想UIButton在底部添加而UIWebView不是更改按钮框架,如下所示。

 `button.frame.origin.y = webview.frame.origin.y + webview.frame.size.height;`

 Implement the above line after you get the finally webview height dynamically and set `UIScrollView` `contentsize` accordingly.

 `[scrollView setContentSize:CGSizeMake(scrollview.frame.size.width,button.frame.origin.y + button.frame.size.height )];`
于 2013-10-30T11:01:54.180 回答
0

您可以<a href='myTag01'> <button>Button </button> </a>使用 stringByEvaluatingJavaScriptFromString 方法将 html 注入到 webview 的内容中。

要捕获单击事件并防止它重新加载 webview 的内容,请使用此委托:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    if(navigationType==UIWebViewNavigationTypeLinkClicked && [[request.URL absoluteString] isEqualToString: @"yourTag01"])
    {
        //your custom action code goes here
        return NO;
    }
    return YES;
}
于 2013-10-30T10:24:03.120 回答
0

尝试将 UIButton 拖到您的 UIScrollView 并将其在 xib 中的自动调整大小掩码设置为 BOTTOM 只需选中标记底线,这应该可以工作,删除框内的其他标记,并在底部保持一条红线处于活动状态。这应该有效。一探究竟

在此处输入图像描述

于 2013-10-30T10:24:05.267 回答
0

首先像这样将 UIScrollView 委托添加到您的头文件中

@interface ScrollView : UIScrollView <UIScrollViewDelegate>

然后在你的实现文件中添加这个委托方法:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
     if (scrollView.contentOffset.y >= scrollView.contentSize.width) {
         // Add a UIButton
     }

}
于 2013-10-30T10:27:50.097 回答