If your APs are in different subnets, then the controller would be set to "Layer 3" mode.
In Layer 3 mode, each AP will have an address from the local net/subnet. Each client will need to get an address for that net/subnet. As the client roams, it will maintain that address.
That function is accomplished with tunnels between the controller and the AP for that client.
Your DHCP server will have to have multiple "scopes" defined, where each scope provides addresses for a specific network/subnetwork.
The DHCP server should be on the network / subnetwork local to the controller (controller port on 192.168.1.0/24, the dhcp server should also be on 192.168.1.0/24).
Good Luck
Scott