No and no.
I'll address your questions in reverse order.
2) My biggest complaint about UML is that it gets out of sync with the code, unless you honestly take the time to outline every little change in the UML docs alongside the code changes. (Which is great in an idealized world, but when I'm in the zone on something, I don't want to pull away to update the docs right that moment, so I'm bound to forget something when I do it later.)
Most IDEs have an 'outline' view, which will show roughly the same information pulled directly from the code. Short of that, you can just use the languages reflection features or docs to get a current view of what's available to a class, etc.
1) As for actually using it to design things, I think it just generally goes against my style of coding. I do things one tiny feature at a time, and refactor when I find myself doing the same thing twice. If I took the time to plan every method signature and relationship between classes in advance, I'd most likely be wrong, and it would take the fun out of coding. Once you have already gone to the trouble of thinking out every detail, actually coding it is going to seem boring.