Học lập trình ứng dụng iphone: Tạo hiệu ứng bấm trên một cell của collectionview và link tới trang mới bằng swift 4 5 tháng 4 tuần trước #4080

  • huonggiang123
  • huonggiang123's Avatar
  • Offline
  • New Member
  • Tổng số bài viết: 16
  • Điểm khen ngợi: 0
Để thức hiện được bài này, các bạn nên tham khảo bài viết:
- tạo ứng dụng login
- tạo listview 2 cột bằng collectionview
Ở bài viết này chúng ta tiếp tục khi mình đã có các cell đã được thiết lập. Để có thể click vào cell đó các bạn thêm hàm sau:
  func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        print(indexPath.row)
        if(indexPath.row == 1)
        {
            let viewController = self.storyboard?.instantiateViewController(withIdentifier: "ProfileViewController") as! ProfileViewController
            self.navigationController?.pushViewController(viewController, animated: true)
        }
    }
Hàm này sẽ chuyển màn hình sang một ViewController mới, cụ thể ở đây là ProfileViewController.
- Ngoài ra để tạo hiệu ứng bấm nút, ta có thể đổi màu nền của cell được chọn bằng cách thêm thuộc tính đổi màu nền :
 if cell.selectedBackgroundView == nil{
            cell.selectedBackgroundView = UIView()
        }
        cell.selectedBackgroundView?.backgroundColor = UIColor.brown
        return cell

trong hàm
  func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        //return A configured cell object.
        
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "proCell", for: indexPath) as! CCollectionViewCell
        cell.proLbl.text = array[indexPath.row]
         cell.proImg.image = UIImage(named: images[indexPath.row])
    //    cell.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(tap(_:))))
        
        if cell.selectedBackgroundView == nil{
            cell.selectedBackgroundView = UIView()
        }
        cell.selectedBackgroundView?.backgroundColor = UIColor.brown
        return cell
    }

Kết quả ta có được như sau:
Lần sửa cuối: 5 tháng 4 tuần trước bởi huonggiang123.
Không cho phép Khách viếng thăm viết bài.

quang cao daklak

Bài đăng mới nhất