240 发简信
IP属地:北京
  • iOS 仿滴滴出行界面UI(1)

    滴滴出行首页(快车),可以上拉下拉底部菜单(tableView),但又不影响后面地图的交互使用。 找来找去网上没有Demo,就想着自己做。 一开始思路错误,想给tablevi...

  • 上文说的对,楼主你这根本就不是状态模式。
    状态模式重点是 将状态的切换 封装在状态内部。
    应该在IcewaterState调用Context类的setState(State)。例如:
    锅炉加热H2O, H2O从固体-》液体-》气体

    Boiler{
    H20State state;
    setH20State(H20State state){
    this.state = state;
    }
    riseTemperature{
    state.riseTemperature();
    }
    }


    H20State{
    riseTemperature(Context)
    }

    H20StateSolid implements H20State {
    riseTemperature(Boiler boiler) {
    boiler.setState(new H20StateLiquid);
    }
    }

    H20StateLiquid implements H20State {
    riseTemperature(Boiler boiler) {
    boiler.setState(new H20StateGas);
    }
    }

    H20StateGas implements H20State {
    riseTemperature(Boiler boiler) {
    //State no change
    }
    }