2016-06-01 17 views
0

私はこれを行う方法についての答えを探していますが、何もまっすぐに見えないか、ユーザーは何か異なることをしたい(複数のセルを選択するなど)。TableViewセクションのセルを選択してください

背景: 私は読書、ガーデニング、スポーツなどのさまざまな職業のために毎日引用を取り出すことについてアプリを作っています。 3つのタブを持つUITabBarControllerがあります。
最初のタブ=見積もり。 2番目のタブ=カテゴリ。 3番目のタブ=設定*

設定タブは、3つのセクションと各セクションに2つのセルを持つUITableViewです。

問題:各セルを別の宛先に移動したい。最初のセクションの最初のセルは、スライダ(テキストの色を変更するカラースライダ)を持つビューコントローラです(後で説明します)。どのように私はこれを達成することができますか?

import UIKit 

class settingsTab: UIViewController, UITableViewDelegate { 

struct Objects { 
    var sectionName : String! 
    var sectionObjects : [String]! 

} 

var objectsArray = [Objects]() 




override func viewDidLoad() { 
    super.viewDidLoad() 
    objectsArray = [Objects(sectionName: "Options", sectionObjects: ["Change color of text" , "Notifications"]),Objects(sectionName: "Extras", sectionObjects: ["Remove ads" , "Restore purchases"]),Objects(sectionName: "Support", sectionObjects: ["Rate this app" , "Email developer"]), Objects(sectionName: "Jordan Norris - Quote Daily 2016", sectionObjects: [])] 



} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell! 

    cell.textLabel?.text = objectsArray[indexPath.section].sectionObjects[indexPath.row] 


    cell.backgroundColor = UIColor.cyanColor() 

    return cell 


} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return objectsArray[section].sectionObjects.count 
} 

func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return objectsArray.count 

} 

func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?{ 
    return objectsArray[section].sectionName 
} 


func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 


} 






} 

これはTableViewControllerが設定されているsettingsTab.swiftです。さらに情報が必要な場合は、追加したいものをコメントしてください。すぐにこの投稿を編集します。前もって感謝します!

答えて

3

セクション内のセクションとアイテムの数は変わりますか?そうでない場合は、スタティックセルを作成し、セグを各セルに異なる宛先に接続することは、コードなしで行うことができます(すべてInterface Builderで行います)。

+0

ありがとうございました。働いた。私は、静的なセルはUIViewControllerでしか利用できないと言ったときに問題に遭遇しましたが、私はそれを解決しました。 –

3

最後の機能didSelectRowAtIndexPathで、各セクションと各行に、indexPath.sectionindexPath.rowを使用してアクセスできます。あなたは第二セクションと、最初の行にアクセスする場合たとえば、あなたは

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    print("Section \(indexPath.section), Row : \(indexPath.row)") 
    if indexPath.section == 1 && indexPath.row == 0{ 
     //Code to implement View Controller to remove adds 
     print("Remove Adds") 
    } 
} 

は、それがプリントした行どのセクションを示すために、それぞれの行を選択してみてください行うことができます。

+0

ありがとうございました。 –

関連する問題