Wednesday, October 4, 2017

Custom danh sách Swift

Bạn muốn danh sách của mình có thêm icon nào đó ở đầu ngoài, hãy kéo icon cần dùng vào project, thêm lệnh sau vào trong hàm tableView để tạo các dòng.
cell.imageView?.image = UIImage(named: "cuoi")
Nếu muốn mũi tên ở cuối trông khác đi, thành dấu tích chẳng hạn, dùng lệnh.
cell.accessoryType = .Checkmark
Nếu muốn các icon bên ngoài là các ảnh khác nhau, hãy khai báo các image đúng như tên các icon đã kéo vào project.
let image = UIImage(named: "icon")
     let image2 = UIImage(named: "icon2")
     let image3 = UIImage(named: "icon3")
     let image4 = UIImage(named: "icon4")
     let image5 = UIImage(named: "icon5")
     let image6 = UIImage(named: "icon6")
     let image7 = UIImage(named: "icon7")
     let image8 = UIImage(named: "icon8")
    let image9 = UIImage(named: "icon9")
  Sau đó tạo mảng chứa chúng.
var icon = [image,image2,image3,image4,image5,image6,image7,image8,image9]  
Dùng dòng sau để set ảnh ra.
cell.imageView?.image = icon[indexPath.row]
Nếu các icon của bạn có kích thước không đều nhau, trông chúng sẽ bị xộc xệch như sau.
Lúc đó hãy thay dòng cell.imageView?.image = icon[indexPath.row]
Bằng các dòng sau.
let im = icon[indexPath.row]
UIGraphicsBeginImageContextWithOptions(CGSizeMake(40,40), true, 0.0)
      im!.drawInRect(CGRectMake(0,0,40,40))
let im2 = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
        cell.imageView?.image = im2
Các icon sẽ được xếp ngay ngay ngắn vào hàng.
Nếu muốn chữ mỗi dòng một màu khác nhau, bạn thêm đoạn sau vào.
if indexPath.row == 0 {
             cell.textLabel?.textColor=UIColor.blueColor()
        }
            else if(indexPath.row == 1){
             cell.textLabel?.textColor=UIColor.blackColor()
            }
        else if(indexPath.row == 2){
            cell.textLabel?.textColor=UIColor.brownColor()
        }
        else if(indexPath.row == 3){
            cell.textLabel?.textColor=UIColor.redColor()
        }
        else if(indexPath.row == 4){
            cell.textLabel?.textColor=UIColor.grayColor()
        }
        else if(indexPath.row == 5){
            cell.textLabel?.textColor=UIColor.greenColor()
        }
        else if(indexPath.row == 6){
            cell.textLabel?.textColor=UIColor.orangeColor()
        }
        else if(indexPath.row == 7){
            cell.textLabel?.textColor=UIColor.cyanColor()
        }
        else {
            cell.textLabel?.textColor=UIColor.magentaColor()
        }


No comments:

Post a Comment