私のアイデアは、このビューが表示されるときです。私はそれを場所によって検出させたい。シンガポールのユーザーならシンガポールセルが強調表示されます。それを可能にする方法はありますか?私は、この関数を参照してくださいましたが、viewDidAppearのハイライト
ここdidHighlightRowAtIndexPath
で使用する方法を知らなかっ:
class LanguageViewController: BaseViewController, UITableViewDelegate, UITableViewDataSource, CLLocationManagerDelegate {
@IBOutlet weak var optionsTableView: UITableView!
let titleArr = ["About", "Terms", "Privacy Policy", "Reset Password", "Change Language", "Logout"]
var countryList = [AnyObject]()
var languageList = [AnyObject]()
var selectRow = Int()
var selectLanguage = Int()
var isSelect = Bool()
var tempCountry = [String]()
var tempLanguage = [String]()
var countryLbl : String = "Country"
var languageLbl : String = "Language"
// MARK: - Activity Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
setupWhiteLeftButton()
//self.navigationItem.title = ""
for country in countryList{
tempCountry.append(country["CountryName"] as! String)
}
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, didHighlightRowAtIndexPath indexPath: NSIndexPath) {
indexPath.row == 0
}
// MARK: - UITableViewData Source & Delegate
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tempCountry.count
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 40
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
optionsTableView.backgroundColor = UIColor.redColor()
let cell = optionsTableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! CustomCountryTableViewCell
cell.backgroundColor = UIColor.redColor()
cell.titleLbl.text = tempCountry[indexPath.row]
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if indexPath.row == 0 {
// let storyboard2 = UIStoryboard(name: "Profile", bundle: nil)
// let AboutVC = storyboard2.instantiateViewControllerWithIdentifier("AboutVC") as! AboutViewController
// self.navigationController?.pushViewController(AboutVC, animated: true)
// optionsTableView.deselectRowAtIndexPath(indexPath, animated: true)
}
}
}
http://stackoverflow.com/questions/2035061/select-tableview-row-programmatically – Azzaknight