Sometimes we create UITableView layout by UIScrollView and UIStackView.

Although UITableView supports cell highlight by default, UIScrollView and UIStackView layout do not support it.

This article is how to copy the behavior of the cell highlight of UITableView to UIScrollView and UIStackView layout.

The repository is here:

Photo by Robert Katzki on Unsplash

Apple introduced dark mode in iOS13, and added some system colors in UIKit.

SwiftUI is designed to adopt dark mode automatically, but some colors in UIKit are not in SwiftUI like UIColor.tertiaryLabel.

I have written a bridge from UIColor to SwiftUI Color.

Some of them like `systemRed` or `systemBlue` might be unnecessary.

Photo by Hitesh Choudhary on Unsplash

Python is the most popular programming language for machine learning and data analysis. This article shows how to set up a Python environment on your Mac.

Pyenv is a powerful Python version management tool. You can easily update the Python version and libraries being used

Pyenv can be installed by Homebrew. Install this first if you don’t have it.

Now let's install pyenv

$ brew update
$ brew install pyenv

You need to add some initialize script in your bash configuration file.

$ echo ‘export PYENV_ROOT=”$HOME/.pyenv”’ >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile …

In the application development project, a style guide is often created and developers create UI classes to adapt the style guide.

For example, Label class that uses primary color of the app for the text color.

I think many developers create UI by Interface Builder, but it is easy to forget to apply such a base UI class when you use Interface Builder.

You can check whether base classes are applied to UI element by using use_base_class_rule of IBLinter.

For example, if you need to set either PrimaryLabel or SecondaryLabel class for all UILabel, this use_base_class rule is useful.


Photo by Bagus Hernawan on Unsplash

Since Apple launched AppStore, 10 years have passed. More and more people use native apps, and the innovation on app platform will not stop in 2019.

I have developed apps on various platforms with various frameworks. Currently I’m developing iOS app with Swift, but I have experiences on windows app development, web app development with modern frameworks like React or Vue, and multi platform native app development with ReactNative and Flutter. In the past few years, many tools to build apps appeared and disappeared. In my opinion, we have 3 ways in 2019.

The other day, I had a presentation about fluid interfaces.

What I wanted to tell in this presentation is making fluid interfaces makes us to feel interfaces more naturally, as an extension of ourselves.

Our interfaces need to be fluid because we are fluid

This is a quote from the session in WWDC, this is a really important point to create the interfaces from now on.

We need more fluid gesture based interfaces, parallel interactions to use the big and button less screen like iPhone X and latest iPad Pro.

Fluid interfaces take your app to next level.

Thank you.


Amazing illustration by @pablostanley!

iOS Photos app transition and interaction

The user experience of iOS Photos app transition and interaction is nice.

The photo zoom in by tap the cell, and zoom out by pull down.

Since the source of the iOS application that we are developing has been increasing, we have divided it into Embedded Frameworks (Cocoa Touch Framework) as refactoring.

There are three purpose to use Embedded Framewoks

  • Clarification of layer division
  • Faster build time
  • Organizing dependencies

Before and after

Before splitting, there was one target for the application, and we split the source files by creating groups under that folder.

This article was originally published in my blog.

iOS meets Redux

I started to lean Redux architecture recently. Redux is super simple and easy to understand.

I want to user Redux architecture in iOS development, and I found ReSwift.

ReSwift is the powerful framework to create Redux architecture iOS app. I created a sample app using ReSwift with CoreData.

GitHub — ReSwiftCoreData

Inside the sample app

There is only one entity named ManagedUser. The sample is a simple application to add and update users.

The key point of Redux is immutable state. But NSManagedObject is not value type, so direct manipulation of the instance mutates the state.

I released an iOS app named “Today - Score Everyday”.

What you do in this app is to input the score of “Today” at the end of the day.

That’s all.

I got the inspiration when I read “Creative Confidence: Unleashing the Creative Potential Within Us All”.

Simply take the time to ask yourself each day. “When was I at my best?” or “When was work most rewarding?” It can help point you toward roles or activities that will enrich your work and reveal what gives you the greatest pleasure or fulfillment.

I want to know when I was at…

Masamichi Ueta

Software Engineer Twitter:

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store