gpt4 book ai didi

ios - IBAction 在 Xcode 中打开用于表格栏单元格交互的 URL

转载 作者:行者123 更新时间:2023-11-30 13:16:38 24 4
gpt4 key购买 nike

无法找到我正在寻找的答案...(Swift 2.0)

我有一个 TableView Controller ,其中包含多个表栏单元格。每个单元格都有一个期望的操作,一旦用户选择该单元格,就会发生该操作。

我的设置方式是,它打开一个全新的 View ,然后该 View 被编程为立即打开所述网址。

参见此处 Storyboard.main或者,这里是辅助 View Controller 的 .swift 文件的示例:

import Foundation
import UIKit

class twitterSocial: UIViewController, UIApplicationDelegate {

override func viewWillAppear(animated: Bool) {

let twitterID: NSURL = NSURL(string: "...")!
let twitterWebURL: NSURL = NSURL(string: "...")!

if UIApplication.sharedApplication().canOpenURL(twitterID){
//checks to see if Twitter is installed
UIApplication.sharedApplication().openURL(twitterID)
}
else{
// Twitter NOT installed - Safari
UIApplication.sharedApplication().openURL(twitterWebURL)
}
}

override func viewWillDisappear(animated: Bool) {
print("View Will Dissapear")
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}

是否可以通过这样的方式进行编程,即表格栏单元格将打开所需的 URL,而无需包含第二个 View ?因为当用户返回到应用程序时,当前 View 是空白的,然后他们必须返回到上一个 View 。

最佳答案

您可以使用 tebleViewDelegate 方法来执行此操作,当用户点击单元格时会调用该方法。

let twitterIDs: [NSURL] = [NSURL(string: "...")!]
let twitterWebURLs: [NSURL] = [NSURL(string: "...")!]

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if UIApplication.sharedApplication().canOpenURL(twitterIDs[indexPath.row]){
//checks to see if Twitter is installed
UIApplication.sharedApplication().openURL(twitterIDs[indexPath.row])
}
else{
// Twitter NOT installed - Safari
UIApplication.sharedApplication().openURL(twitterWebURLs[indexPath.row])
}
}

我还没有对此进行测试,但它的执行效果应该与在单独的 View Controller 上打开它相同。

关于ios - IBAction 在 Xcode 中打开用于表格栏单元格交互的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38155132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com