Should have no problem connecting to the internet at any time.
Ads should always be blocked when pihole is enabled.
Disabling pihole should allow me to see advertisements, enabling should block them again.
Actual Behaviour:
Sometimes turning off and then on wifi causes my mac/iphone to connect to the router but have no internet access. However, at the same time, my raspberry pi (which is running pihole) still can access the internet just fine. After about 5 minutes the apple products are again able to access the internet. This seems intermittent. Sometimes I can turn off and on wifi instantly with no problem. This also seems to occur if the router is restarted. The pi can connect to internet right away, the apple products take time.
If I disable pihole for a couple of minutes ads are still blocked (even after clearing browser cache). After a couple minutes it starts blocking ads (but by this time pihole has enabled itself again). Then if I want pihole to start blocking ads (after a temporary disable), ads are not blocked for several minutes/hour.
Have you tried troubleshooting by moving DHCP back to the router?
I tried using the routers DHCP initially, but could not get it to work. Below is a screenshot of my routers settings. From what I understand changing the Primary and Secondary DNS options to the pihole's ip address should be all I need to change correct? Then I should disable the piholes DHCP. Then I need to reboot the router and all devices or is that not necessary?
Typically, yes. Sometimes you leave the second DNS blank (varies by router).
But you should also go through every menu on the router and look for DNS settings (dynamic DNS, prebinding, family friendly DNS, etc.).
It is necessary, but you also want to look in each client and make sure it's DNS cache cleared during the reboot. This will get the client to use the DHCP from the router and not from the Pi-Hole.
Solved
I was able to switch DHCP from pihole back to my router. There was a primary/secondary DNS setting under WAN settings that I had missed. It was set to default, and didn't display unless I selected to manually change it. I then rebooted the router and all client devices. Everything connected instantly to the internet.
Disabling pihole now immediately displays ads. Enabling still does not immediately block ads but, as pointed out, this is due to the router caching. I'm fairly certain this is so as checking Block Ads! right after enabling shows that adblocking is enabled.