Skip to main content

Custom Loader (Activity Indicator) in Swift

Creating a custom activity indicator in Swift allows you to tailor the appearance and behavior of your loading spinner to fit the style of your app. Here's a step-by-step guide to creating a simple custom activity indicator using UIView Step 1: Create a New Swift File for the Custom Activity Indicator Create a new Swift file and name it  RotatingCirclesView.swift . Add the following code to define a custom UIView subclass for your activity indicator: // //   RotatingCirclesView.swift //   Welcome In // //   Created by Praveen Kumar on 05/09/24. // import UIKit class RotatingCirclesView : UIView {          let circle1 = UIView ( frame : CGRect ( x : 20 , y : 20 , width : 60 , height : 60 ))     let circle2 = UIView ( frame : CGRect ( x : 120 , y : 20 , width : 60 , height : 60 ))          let position : [ CGRect ] = [ CGRect ( x : 30 , y : 20 , width : 60 , height : 60 ), CGRect ( x : 60 , y : 15 ,...

Protocol oriented programming Best Way in swift

Protocols in swift are the best way to make your swift code


Protocols in swift


    


  import UIKit

    import Foundation


    protocol ElectricityEquipment {

        var voltage: Int? { get set }

        func start()

        func stop()

    }


    protocol WaterElectricityEquipment {

        var voltage: Int? { get set }

        var waterLevel: Int? {get set}

        func start()

        func stop()

    }



    class Microwave: ElectricityEquipment {

        var voltage: Int?

        

        init?(_voltage: Int){

            guard 50...100 ~= _voltage else{

                print("Required valtage is not in the range 50 to 100")

                return nil

            }

          voltage = _voltage

        }

        

        func start(){

            print("Microwave is started")

        }

        func stop(){

            print("Microwave is stoped")

        }

    }


    class Dishwaser: WaterElectricityEquipment{

        

        var voltage: Int?

        var waterLevel: Int?

        

        init?(_voltage: Int, _waterLevel: Int){

            guard 200...220 ~= _voltage else{

                print("Required valtage is not in the range 200 to 220")

                return nil

            }

            guard 2...5 ~= _waterLevel else{

                print("Required waterLevel is not in the range 3 to 5")

                return nil

            }

          voltage = _voltage

          waterLevel = _waterLevel

        }

        

        func start(){

            print("Dishwaser is started")

        }

        func stop(){

            print("Dishwaser is stoped")

        }

        

    }


    class Kitchen{

        var microwave: Microwave?

        var dishwaser: Dishwaser?

    }


    let objKitchen = Kitchen()


    objKitchen.microwave = Microwave(_voltage: 200)

    objKitchen.microwave?.start()

    objKitchen.dishwaser = Dishwaser(_voltage: 240, _waterLevel: 3)

    objKitchen.dishwaser?.start()



Comments

Post a Comment