【问题标题】:Making a button open a hyperlink使按钮打开超链接
【发布时间】:2014-02-16 18:26:05
【问题描述】:

我刚刚开始使用 Xamarin 和 C# 进行一些 iOS 开发。我试图让一个按钮在 Safari 中打开一个网页。我已经在 XCode 可视化编辑器中添加了该按钮,并将该按钮拖到代码视图中以开始在 Xamarin 中使用它。

我遇到了与this 相同的问题,尽管我无法将代码放入视图中,因为我需要访问 UIApplication 才能在 Safari 中打开网页。

这是我的代码:

Login.cs:

partial void webLink (MonoTouch.Foundation.NSObject sender)
{
    UIApplication.SharedApplication.OpenUrl(new NSUrl("http://www.google.com/"));
}

还有错误:

A partial method implementation is missing a partial method declaration

【问题讨论】:

    标签: c# ios xamarin.ios xamarin


    【解决方案1】:

    我想您在Xcode 中添加了一个UIButton,然后您还将新创建的UIButton 拖到Assistant editor 并命名您的实例,例如btnOpenGoogle.

    接下来需要在ViewDidLoad中实现TouchUpInside事件处理程序:

    btnOpenGoogle.TouchUpInside += HandleBtnOpenGoogleTouchUpInside;
    

    然后在您的代码中某处创建HandleBtnOpenGoogleTouchUpInside 方法:

    private void HandleBtnOpenGoogleTouchUpInside(object sender, EventArgs e)
    {
        UIApplication.SharedApplication.OpenUrl(new NSUrl("www.google.com"));
    }
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      只需使用 IBAction,

      - (IBAction)ButtonName:(id)sender {
          [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com/"]];
      }
      

      只需将“ButtonName”替换为现有按钮的名称,然后将所有内容连接到情节提要中的文件所有者。

      【讨论】:

        【解决方案3】:

        不应该这样吗 private/public void webLink (MonoTouch.Foundation.NSObject sender) 代替 partial void webLink (MonoTouch.Foundation.NSObject sender) ? 我认为你不应该偏心。

        【讨论】:

          猜你喜欢
          • 2017-07-08
          • 2016-09-25
          • 2015-12-19
          • 2021-11-22
          • 1970-01-01
          • 1970-01-01
          • 2019-01-11
          • 1970-01-01
          • 2017-03-29
          相关资源
          最近更新 更多