В настоящее время работает над Swift-приложением, и я построил навигационное меню слайдов с использованием API на https://github.com/mutualmobile/MMDrawerController. Я пытаюсь изменить фоновое изображение каждой ячейки из пустого и скучного белого цвета в изображение, которое я выбираю самостоятельно.Как настроить фоновые изображения ячеек
Я проверил много ресурсов из переполнения стека self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background"]]
, который я вставил в начале оператора case, по-видимому, создает ошибку: Ожидаемое выражение из строкового литерала. Где бы я вставлял заявление для фонового изображения и что бы это было?
class LeftSideViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var menuItems:[String] = ["Daily Quote","Passion", "Failure","Dream","Grind","Hang on","Haters","Wisdom","Karma"];
override func viewDidLoad() {
super.viewDidLoad()
// 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, numberOfRowsInSection section: Int) -> Int
{
return menuItems.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
var mycell = tableView.dequeueReusableCellWithIdentifier("MyCell", forIndexPath: indexPath) as! MyCustomTableViewCell
mycell.menuItemLabel.text = menuItems[indexPath.row]
return mycell;
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
switch(indexPath.row){
case 0:
var centerViewController = self.storyboard?.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
var centerNavController = UINavigationController(rootViewController: centerViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = centerNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
break;
case 1:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background"]]
var aboutViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PassionViewController") as! PassionViewController
var aboutNavController = UINavigationController(rootViewController: aboutViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = aboutNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
break;
case 2:
var aboutViewController = self.storyboard?.instantiateViewControllerWithIdentifier("FailureViewController") as! FailureViewController
var aboutNavController = UINavigationController(rootViewController: aboutViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = aboutNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
break;
case 3:
var aboutViewController =
self.storyboard?.instantiateViewControllerWithIdentifier("DreamViewController")
as! DreamViewController
var aboutNavController = UINavigationController(rootViewController: aboutViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = aboutNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
break;
case 4:
var aboutViewController =
self.storyboard?.instantiateViewControllerWithIdentifier("GrindViewController")
as! GrindViewController
var aboutNavController = UINavigationController(rootViewController: aboutViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = aboutNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
break;
case 5:
var aboutViewController =
self.storyboard?.instantiateViewControllerWithIdentifier("HangViewController")
as! HangViewController
var aboutNavController = UINavigationController(rootViewController: aboutViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = aboutNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
break;
case 6:
var aboutViewController =
self.storyboard?.instantiateViewControllerWithIdentifier("HaterViewController")
as! HaterViewController
var aboutNavController = UINavigationController(rootViewController: aboutViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = aboutNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
break;
case 7:
var aboutViewController =
self.storyboard?.instantiateViewControllerWithIdentifier("WisdomViewController")
as! WisdomViewController
var aboutNavController = UINavigationController(rootViewController: aboutViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = aboutNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
break;
case 8:
var aboutViewController =
self.storyboard?.instantiateViewControllerWithIdentifier("KarmaViewController")
as! KarmaViewController
var aboutNavController = UINavigationController(rootViewController: aboutViewController)
var appDelegate:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.centerContainer!.centerViewController = aboutNavController
appDelegate.centerContainer!.toggleDrawerSide(MMDrawerSide.Left, animated: true, completion: nil)
default:
println("\(menuItems[indexPath.row]) is selected");
}
}
Вы хотите, чтобы убедиться, что вы установите ячейку 'backgroundColor' для очистки, а также клетка' contentView.backgroundColor' очистить. В противном случае вы не увидите изображение. Чтобы установить изображение, создайте UIView с цветом фона из набора изображений и присвойте его cell.backgroundView. Вы можете установить ячейки backgroundColor, но он будет отображаться только до тех пор, пока фон 'contentView' станет ясным. –