主页
迈腾大队长
Cancel

Preface Taptic Engine is a brand-new vibration module introduced on Apple products; it first appeared in the Apple Watch. The iPhone 6s and iPhone 6s Plus also have a built-in Taptic Engine, wit...

- (UIView *)containerBackgroundView { if (!_containerBackgroundView) { UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectZero]; toolBar.barStyle = UIBarStyleBlack; ...

bash and its features bash is essentially an executable program — a user’s working environment. Under each shell you can open another shell; the newly opened shell can be called a subshell,...

Preface Today I ran into a requirement: the PM asked that the input field strip out anything that isn’t a letter, number, or Chinese character. With this question in mind, today’s article begin...

Preface Recently I ran into a simple but tricky problem in a development requirement. First, look at the requirement A UILabel displays a string with different sizes and colors. Of course, att...

Preface Shortly after my previous article was published, WWDC2018 kicked off. What I found a bit of a pain was that Swift 4.2 added system-level random number support. So I had to fill in the ga...

Preface Today is Children’s Day, so I’ll write a technical article on random numbers to commemorate the childhood of “left-behind children (veteran level)”. Using Random Numbers in Swift In ou...

Preface In development we’re often bothered by tricky corner-radius problems, especially when we want to round a UIView only at the top-left, bottom-left, etc. This kind of requirement is well ...

Preface It’s been a long time since I used the less common APIs of UIViewController, and I’ve gradually lost my memory of them. In iOS apps, pages with multiple childViewControllers are a very com...

Preface On the iOS platform, audio rendering is done directly through the AudioUnit API. It is used to implement effects like “uncle voice”, “KTV”, and “monitor return”. Today I’ll take you thr...