RouteLayer

open class RouteLayer : NSObject, Layer

Route객체를 관리하는 단위인 RouteLayer 클래스.

Route를 추가/삭제 등 관리할 수 있으며, 일종의 그룹처럼 관리가 가능하다.

사용자가 직접 객체를 생성할 수 없으며, RouteManager를 통해 객체를 간접적으로 생성할 수 있다.

RouteLayer Controls

  • 현재 layer에 속한 Route를 일괄적으로 지운다.

    Declaration

    Swift

    @objc
    public func clearAllRoutes()

Route Controls in Layer

  • 현재 Layer에 Route를 추가한다.

    하나의 레이어안에 중복 ID로 추가할 수 없으며, 기존에 같은 아이디가 존재할 경우 nil을 리턴한다.

    See also

    RouteSegment

    Declaration

    Swift

    @objc
    public func addRoute(option: RouteOptions, callback: ((Route?) -> Void)? = nil) -> Route?

    Parameters

    option

    추가할 segment의 option.

    callback

    Route 추가가 완료되었을 때, 호출할 callback(optional)

    Return Value

    생성한 Route 객체

  • 현재 Layer에서 특정 Route를 제거한다.

    Declaration

    Swift

    @objc
    public func removeRoute(routeID: String, callback: (() -> Void)? = nil)

    Parameters

    routeID

    제거할 routeID

    callback

    Route제거가 완료되었을 때, 호출할 callback(optional)

  • 현재 Layer에서 특정 Route를 제거한다.

    Declaration

    Swift

    @objc
    public func removeRoutes(routeIDs: [String], callback: (() -> Void)? = nil)

    Parameters

    routeIDs

    제거할 routeID 배열

    callback

    Route제거가 완료되었을 때, 호출할 callback(optional)

  • 현재 Layer에 속한 특정 Route를 보여준다.

    Declaration

    Swift

    @objc
    public func showRoutes(routeIDs: [String])

    Parameters

    routeIDs

    보여줄 routeID 배열

  • 현재 Layer에 속한 특정 Route를 숨긴다.

    Declaration

    Swift

    @objc
    public func hideRoutes(routeIDs: [String])

    Parameters

    routeIDs

    숨길 routeID 배열

  • 현재 Layer에 속한 Route를 가져온다.

    Declaration

    Swift

    @objc
    public func getRoute(routeID: String) -> Route?

    Parameters

    routeID

    가져올 routeID

    Return Value

    ID에 해당하는 Route객체. 없을경우 nil

  • 현재 Layer에 속한 다수의 Route를 가져온다.

    Declaration

    Swift

    @objc
    public func getRoutes(routeIDs: [String]) -> [Route]?

    Parameters

    routeIDs

    가져올 routeID 배열

    Return Value

    ID에 해당하는 Route객체 배열. 없을경우 nil

  • 현재 레이어에 속한 모든 Route를 가져온다.

    Declaration

    Swift

    @objc
    public func getAllRoutes() -> [Route]?

    Return Value

    현재 Layer에 추가되어있는 모든 Route 객체 배열

Properties

  • RouteLayer ID

    Declaration

    Swift

    public var layerID: String { get }
  • RouteLayer의 visible 상태.

    layer의 on/off 상태를 나타내며, layer에 속한 객체의 show/hide는 별도로 동작시켜야한다.

    즉, layer의 visible이 true여도 layer에 속한 객체의 show를 호출해야 보이고, visible이 false라면 layer에 속한 객체는 화면에 표시되지 않는다.

    Declaration

    Swift

    public var visible: Bool { get set }
  • RouteLayer의 렌더링 우선순위

    값이 클수록 위에 그려진다. 같은 RouteLayer끼리만 유효하다.

    즉, zOrder = 0 인 RouteLayer에 속한 Route는 zOrder = 1 인 RouteLayer에 속한 Route보다 아래에 그려진다.

    Declaration

    Swift

    public internal(set) var zOrder: Int { get set }