"He has been learning to swim" implicates that he doesn’t know how to swim
The Cambridge Grammar of the English Language, page 164, reads
He has been learning to swim implicates that he doesn’t know how to swim
Is this true for most English dialects?
In my native language, Spanish, it would imply just the opposite in the following situation:
A: Is that Mike going into the deep side of the pool?
B: Oh, don't worry Karen, he's been learning to swim
The simple explanation is: we cannot learn something we already know. Thus, when we say, "I'm learning X" it must mean I don't know X.
The problem with this simple explanation is that it's often not clear what it means to know something.
At what point do you know how to swim? When you can keep yourself from drowning? When you can propel yourself through water? How fast and for how long?
At what point do you know how to drive? When you can make the car go where you want it to? When you can pass an official driving test?
At what point do you know English? When you can speak your mind? When you know and use every word in the OED?
Since these questions can't ever really be answered, since there's no single meaning of "to know something," there's also no single meaning of "leaning something." Roughly speaking, if "knowledge of X" is a line from absolute ignorance of X to absolute mastery of X, we use "learning X" more towards the absolute ignorance end, than the absolute mastery end.
The significant part of this sentence is "swim".
If I said "He has been learning to tie his shoelaces.", it would be as an explanation for why my young son's shoes look the way they do. Tying shoelaces is something that one soon learns, and then continues doing forever.
But swimming (or playing a piano, or playing chess, etc.) are skills that one never fully learns. You can learn the basics, then learn better technique, then continue to improve. The most proficient expert in the world is still learning.
Michael Phelps has been learning to swim since he was seven.
Unless there is something significant in the context is was written, the quoted statement, "He has been learning to swim implicates that he doesn’t know how to swim." is a poor example of English usage. People wouldn't normally speak like that, with "learning to swim" unqualified. It should be "… to swim for years" or "… to swim all week", or something similar that describes the time frame of the ongoing activity.