我非常新,遵循Apple网站上快速入门指南。

我正在尝试创建一个选项卡式应用程序,每个选项卡是礼物的价格范围,每个礼物是一个带有自己的图像和标签的tableviewcell。我还希望能够单击tableviewcell打开SFSafariViewController,并直接在线链接到该礼物。

到目前为止,我已经能够创建选项卡式应用程序,为每个选项卡创建表视图和单元格作为静态列表,使用图像和标签设置tableviewcell,但是我对如何做到这一点感到很困惑,因此可以单击每个tableviewcell应用中的网址。

只是想看看是否有人做过类似的事情或可以帮助我。到目前为止,我几乎已在情节提要中完成了所有工作,如果存在情节提要解决方案,那将是惊人的。如果没有,那么任何帮助都将是巨大的。谢谢!

最佳答案

您要做的是利用tableView:didSelectRowAtIndexPath:。这是一个UITableViewDelegate方法,可在单击单元格时随时调用。您可以做的是检查所选单元格的IndexPath.row,并创建一个SFSafariViewController实例,以打开相应的URL:

import SafariServices
import UIKit

class YourViewController: UITableViewController {

    ...

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        var controller: SFSafariViewController!
        switch indexPath.row {
        case 0:
            let url = URL(string: "www.website1.com")!
            controller = SFSafariViewController(url: url)
        case 1:
            let url = URL(string: "www.website2.com")!
            controller = SFSafariViewController(url: url)
        default:
            break
        }
        present(controller, animated: true, completion: nil)
    }
}

关于ios - 尝试使用可启动SafariViewController中的链接的tableviewcell快速创建带标签的应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58440393/

10-11 20:26