2017-02-09 21:45:31 +08:00
//
// G e n e r a l S e t t i n g s T a b l e V i e w C o n t r o l l e r . s w i f t
// p a s s
//
// C r e a t e d b y M i n g s h e n S u n o n 9 / 2 / 2 0 1 7 .
// C o p y r i g h t © 2 0 1 7 B o b S u n . A l l r i g h t s r e s e r v e d .
//
import UIKit
2017-02-14 11:16:30 +08:00
import SwiftyUserDefaults
2017-02-09 21:45:31 +08:00
class GeneralSettingsTableViewController : BasicStaticTableViewController {
2017-02-14 11:16:30 +08:00
2017-02-14 18:08:31 +08:00
let hideUnknownSwitch = UISwitch ( )
2017-02-09 21:45:31 +08:00
override func viewDidLoad ( ) {
navigationItemTitle = " General "
2017-02-09 22:13:31 +08:00
tableData = [
// s e c t i o n 0
2017-02-10 16:44:59 +08:00
[ [ . title : " About Repository " , . action : " segue " , . link : " showAboutRepositorySegue " ] , ] ,
2017-02-14 11:16:30 +08:00
[ [ . title : " Hide Unkonwn Fields " , . action : " none " , ] , ] ,
2017-02-09 22:13:31 +08:00
]
2017-02-09 21:45:31 +08:00
super . viewDidLoad ( )
2017-02-14 11:16:30 +08:00
}
override func tableView ( _ tableView : UITableView , cellForRowAt indexPath : IndexPath ) -> UITableViewCell {
let cell = super . tableView ( tableView , cellForRowAt : indexPath )
if indexPath = = IndexPath ( row : 0 , section : 1 ) {
cell . accessoryType = . none
hideUnknownSwitch . onTintColor = UIColor ( displayP3Red : 0 , green : 122.0 / 255 , blue : 1 , alpha : 1 )
2017-02-14 18:08:31 +08:00
hideUnknownSwitch . sizeToFit ( )
let detailButton = UIButton ( type : . detailDisclosure )
2017-02-14 19:19:47 +08:00
hideUnknownSwitch . frame = CGRect ( x : detailButton . bounds . width + 10 , y : 0 , width : hideUnknownSwitch . bounds . width , height : hideUnknownSwitch . bounds . height )
detailButton . frame = CGRect ( x : 0 , y : 5 , width : detailButton . bounds . width , height : detailButton . bounds . height )
2017-02-14 18:08:31 +08:00
detailButton . addTarget ( self , action : #selector ( GeneralSettingsTableViewController . tapHideUnknownSwitchDetailButton ( _ : ) ) , for : UIControlEvents . touchDown )
let accessoryView = UIView ( frame : CGRect ( x : 0 , y : 0 , width : detailButton . bounds . width + hideUnknownSwitch . bounds . width + 10 , height : hideUnknownSwitch . bounds . height ) )
accessoryView . addSubview ( detailButton )
accessoryView . addSubview ( hideUnknownSwitch )
cell . accessoryView = accessoryView
2017-02-14 11:16:30 +08:00
cell . selectionStyle = . none
hideUnknownSwitch . addTarget ( self , action : #selector ( hideUnknownSwitchAction ( _ : ) ) , for : UIControlEvents . valueChanged )
hideUnknownSwitch . isOn = Defaults [ . isHideUnknownOn ]
}
return cell
}
2017-02-14 18:08:31 +08:00
func tapHideUnknownSwitchDetailButton ( _ sender : Any ? ) {
print ( " tap " )
2017-02-14 19:17:31 +08:00
let alertMessage = " Only \" key: value \" format in additional fields is supported. Unsupported fields will be given \" unkown \" keys. Turn on this switch to hide unsupported fields. "
2017-02-14 18:08:31 +08:00
let alert = UIAlertController ( title : " Hide Unknown Fields " , message : alertMessage , preferredStyle : UIAlertControllerStyle . alert )
alert . addAction ( UIAlertAction ( title : " OK " , style : UIAlertActionStyle . default , handler : nil ) )
self . present ( alert , animated : true , completion : nil )
}
2017-02-14 11:16:30 +08:00
func hideUnknownSwitchAction ( _ sender : Any ? ) {
Defaults [ . isHideUnknownOn ] = hideUnknownSwitch . isOn
2017-02-09 21:45:31 +08:00
}
2017-02-14 11:16:30 +08:00
2017-02-09 21:45:31 +08:00
}