gpt4 book ai didi

swift - 我怎样才能使 SWRevealViewController 在我的所有场景中可用?

转载 作者:搜寻专家 更新时间:2023-11-01 05:36:54 25 4
gpt4 key购买 nike

我正在使用 swift 在 Xcode7 上创建一个应用程序,我真的需要一些帮助。我想让 SWRevealViewController 侧边栏出现在我的所有场景中,但问题是它只出现在我设置 push segue 显示的第一个 View Controller 上。而且在点击侧边栏上的链接后,导航栏会在下一个场景中消失吗?请有人帮忙...

sidebar

enter image description here

这是我在 UITableViewController 上用于侧边栏链接的脚本

var catArrayId = [String]()
var catArrayName = [String]()
var catArrayImg2 = [String]()

override func viewDidLoad(){

// get available categories according to customer country
get_categories()

}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return catArrayId.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("navCell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = self.catArrayName[indexPath.row]
return cell
}

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.performSegueWithIdentifier("showCategory", sender: self)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showCategory" {
let VC = segue.destinationViewController as! CategoryProductsViewController

let indexPath: NSIndexPath = self.tableView.indexPathForSelectedRow!
let categoryImage = UIImage(named: catArrayImg2[indexPath.row])

VC.catId = self.catArrayId[indexPath.row]
VC.image = categoryImage!

}
}

func get_categories(){
let country_id = 168
//let startTime = NSDate.timeIntervalSinceReferenceDate()
let pageUrl = "https://domain.com/ios/home-categories-image.php?country_id=\(country_id)&uudi=" + NSUUID().UUIDString
let myUrl = NSURL(string: pageUrl)
let request = NSMutableURLRequest(URL: myUrl!)
request.HTTPMethod = "GET"
request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringCacheData

let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request){
(let data, let response, let error) in

if(error != nil){
print(error?.localizedDescription)
return
}

do{
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
let catArray = json as? [[String: AnyObject]]
for catArr in catArray!{

let catName = catArr["name"] as? String
let catID = catArr["id"] as? String
let img2 = catArr["image2"] as? String

dispatch_async(dispatch_get_main_queue(), {
self.catArrayId.append(catID!)
self.catArrayName.append(catName!)
self.catArrayImg2.append(img2!)
self.tableView.reloadData()
})
}
}
catch{
print("Error serializing JSON: \(error)")
}
}
task.resume()
}

最佳答案

如果我正确理解了您的问题,那么您可以按照 Controller 作者提供的示例(“RevealControllerStoryboardExample2”)执行相同的操作。当您从后端 VC 中选择某些内容时,该操作的 segue 需要具有类“SWRevealViewControllerSeguePushController”。这是此示例的屏幕截图:

关于swift - 我怎样才能使 SWRevealViewController 在我的所有场景中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36472551/

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