Ios “如何修复”;结构";单击打开url时是否包含UIButton?
下面是结构中的代码。我已经添加了“url”,但不确定是否在所有(3)个位置正确添加到结构中。目标是将“URL”添加到结构中 下面是我用于您审阅的数组的代码。需要改变吗?或者我添加“url”的方式可以吗?这里的目标是将“URL”添加到数组中 下面是我想添加一个“Ios “如何修复”;结构";单击打开url时是否包含UIButton?,ios,arrays,swift,xcode,struct,Ios,Arrays,Swift,Xcode,Struct,下面是结构中的代码。我已经添加了“url”,但不确定是否在所有(3)个位置正确添加到结构中。目标是将“URL”添加到结构中 下面是我用于您审阅的数组的代码。需要改变吗?或者我添加“url”的方式可以吗?这里的目标是将“URL”添加到数组中 下面是我想添加一个“UIButton”的detailVC的代码。在ui按钮中,我将main.storyboard中的按钮添加到DetailVC。这里的目标是添加一个按钮以在单击时打开数组中的URL:我不确定在添加UIButton后如何正确编码 以下是UIVie
UIButton
”的detailVC的代码。在ui按钮中,我将main.storyboard
中的按钮添加到DetailVC
。这里的目标是添加一个按钮以在单击时打开数组中的URL:我不确定在添加UIButton
后如何正确编码
以下是UIViewController
的代码。我不确定是否需要向UIViewController
添加其他代码,因为我向DetailVC添加了一个按钮
我找到了在单击按钮时从数组中打开url的解决方案。我实施了以下措施:
@iAction func WatchButton已映射(uu发送方:SAButton){
如果让url=url(字符串:self.state!.url){
UIApplication.shared.open(url,选项:[:],completionHandler:nil)
我找到了在单击按钮时从数组中打开url的解决方案。我实现了以下功能:
@iAction func WatchButton已映射(uu发送方:SAButton){
如果让url=url(字符串:self.state!.url){
UIApplication.shared.open(url,选项:[:],completionHandler:nil)
请详细说明。哪个数组?哪个按钮?因此您想打开状态
数组中最后一个对象的URL,对吗?在状态数组中如果您有10个状态,那么您想在视图控制器中创建10个按钮吗?然后当点击一个按钮时,您想在浏览器中打开相应的URL吗?数组中的每个项目都有一个URL作为参考与之关联。数组填充UITableView,其中每个单元格都有来自数组的状态名称。当从TableView中选择单元格时,它将移动到详细信息VC以查看有关状态的更多信息。在详细信息VC上,有2个标签、一个textview和一个按钮。该按钮是用户要单击以查看该单元格的url的按钮状态。请详细说明。哪个数组?哪个按钮?所以你想打开状态
数组中最后一个对象的URL,对吗?在状态数组中如果你有10个状态,那么你想在视图控制器中创建10个按钮吗?然后当点击一个按钮时,你想在浏览器中打开相应的URL吗?数组中的每个项目都有一个关联的URL该数组填充一个UITableView,其中每个单元格都有一个来自该数组的状态名称。当从TableView中选择一个单元格时,它将移动到详细信息VC以查看有关该状态的更多信息。在详细信息VC上,有两个标签、一个textview和一个按钮。该按钮是用户要单击以查看该状态的url的按钮.
struct State{
var title: String
var detailText: String
var description: String
var image: UIImage
var document: String
var url: String
init(titled: String, detailText: String, imageName: String, description: String, document: String, url: String)
{
self.title = titled
self.detailText = detailText
self.description = description
self.image = UIImage(named: imageName) ?? UIImage(named:"default")!
self.document = document
self.url = url
}
}
class SelectedState{
// variables
var name: String // Name of State.
var states: [State] // List of all States.
init(named: String,includeStates: [State]){
name = named
states = includeStates
}
class func getSelectedStates() -> [SelectedState]{
return [self.Reciprocal(), self.Unilateral(), self.NoAgreement(), self.ConstitutionalCarry()]
}
// Mark: - Private Helper Methods.
private class func Reciprocal() -> SelectedState {
// Add states that are reciprocal states.
var states = [State]()
states.append(State(titled: "Alabama", detailText: "Reciprocal State", imageName: "alabama", description: "some text here", document: "somePDF", **url**: "https://www.anything.com"
states.append(State(titled: "Texas", detailText: "Reciprocal State", imageName: "texas", description: "some text here", document: "somePDF", **url:** "https://www.somethingelse.com"
class StateDetailViewController: UIViewController, SFSafariViewControllerDelegate, UITextViewDelegate {
@IBOutlet weak var stateTitleTextLabel: UILabel!
@IBOutlet weak var stateDetailTextTitleLabel: UILabel!
@IBOutlet weak var stateDescriptionTextView: UITextView!
@IBOutlet weak var openURL: UIButton!
var state: State?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
title = "Reciprocal Details"
stateTitleTextLabel.text = state?.title
stateDetailTextTitleLabel.text = state?.detailText
stateDescriptionTextView.text = state?.description
}
import SafariServices
import UIKit
class StatesTableViewController: UITableViewController {
// Mark: - Data Model
var selectedStates: [SelectedState] = SelectedState.getSelectedStates()
override func viewDidLoad() {
super.viewDidLoad()
title = "Reciprocity Agreements"
}
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
return selectedStates.count
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return selectedStates[section].states.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "stateCell", for: indexPath) as! StatesTableViewCell
// Configure the cell...
let selectedState = selectedStates[indexPath.section]
let states = selectedState.states
let state = states[indexPath.row]
cell.state = state
return cell
}
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
let selectedState = selectedStates[section]
return selectedState.name
}
var youselectedState: State?
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selectedState = selectedStates[indexPath.section]
let state = selectedState.states[indexPath.row]
youselectedState = state
performSegue(withIdentifier: "AgreementDetails", sender: nil)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "AgreementDetails"{
let StateDetailVC = segue.destination as! StateDetailViewController
StateDetailVC.state = youselectedState
}
}
}